asp代码中什么时候用empty什么时候用null?

来源:百度知道 编辑:UC知道 时间:2024/05/29 11:13:37
............
protected void Button1_Click(object sender,EvenrArgs e)
{
if (HiddenField1.Value == string.Empty)
{
//当前时间赋值给隐藏字段
this.HiddenField1.Value = DateTime.Now.ToString();
}
else
{
this.HiddenField1.Value = "已经输出过一次";
}
//下面输出隐藏字段
Response.Write(HiddenField1.Value);
//如果输出两次后,就是按钮隐藏
if (HiddenField1.Value == "已经输出过一次")
{
this.Button6.Visible = false;
}
}
怎么把string.Empty改成null怎么单击一次就直接输出"已经输出过一次",而不输出时间

(网上找的)看一下这个实例应该就差不多明白了:

Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A 等于 Empty,因为尚未初始化的「不定型变量」都等于 Empty。但如果检测 A = "" 或 A = 0,也都可以得到True 值。
B 等于 "", 因为尚未初始化的非固定长度「字串」都等于 ""。 但请注意B <> Null。
C 等于 0, 这个还有问题吗?
D 等于 Nothing, 尚未设定有物件的「物件变量」都等于 Nothing,但请不要使用D = Nothing, 而要使用D Is Nothing 来判断D 是否等于Nothing,因为判断是否相等的符号是Is不是=。
最令人迷惑的地方是 Null 这个保留字,请看以下语句:
Print X = Null
Print X <> Null
结果都是输出 Null(不是True 也不是False),这是因为任何一个运算式只要含有Null,则该运算式就等于Null,实际上想要判断某一数据是否为Null 绝对不能使用:
If X = Null Then ' 永远都会得到Null
而要使用:
If IsNull(X) Then
哪一种数据会等于 Null呢?除了含有Null运算式之外,就属没有输入任何数据的「数据字段」(在数据库中)会等于Null。

string.Empty表示空字符串。此字段为只读。此字段的值为零长度字符串 ""。
null 关键字是表示不引用任何对象的(其实就是不指向任何内存地址)。C# 2.0 引入了可为 null 的类型。

HiddenField1控件