C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull

标签:
it |
分类: ASP.NET |
(1)NULL
(2)DBNULL
(3)""和String.Empty
这两个都是表示空字符串,其中有一个重点是string str1="" 和 string str2=null 的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将抱错。
(4)Convert.IsDBNull()
string.Empty不分配存储空间
为了以后跨平台,还是用string.empty
在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:
http://www.cnblogs.com/Images/OutliningIndicators/None.gifstring s =
"";
http://www.cnblogs.com/Images/OutliningIndicators/None.gifstring
s2 = string.Empty;
http://www.cnblogs.com/Images/OutliningIndicators/None.gif
http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gifif
(s == string.Empty)
http://www.cnblogs.com/Images/dot.gif{
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif}
if语句成立
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length ==
0
您关于String.Empty和Null的问题是这样的,这两个都是表示空字符串,其中有一个重点是string str1= String.Empty和 string str2=null 的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。textBox1.Text的值为零长度字符串 ""。
String.Empty vs. ""
So, I just converted a bunch of code that used "" as an empty string like this:
if(myString == "") anotherString = "";
to
if(myString.Equals(String.Empty))
and I'm wondering if I did the right thing, using String.Empty.
I hate having quoted strings in code and prefer to stay away from
them whenever possible.