use*_*546 0 c# string variable-assignment
当我宣布
string x = new string(new char[0]);
Run Code Online (Sandbox Code Playgroud)
它运作正常.我的问题是x将分配什么值?
当我检查
Console.WriteLine(x.CompareTo(null)==0);,it returns false.
Run Code Online (Sandbox Code Playgroud)
当您指定新的char [0]时,您的字符串不为空.它是空的.
你可以这样做:
Console.WriteLine(string.IsNullOrEmpty(x));
Run Code Online (Sandbox Code Playgroud)
x将是一个空字符串,相同x = "".
null并且""是两个不同的字符串值.特别是,null是一个空引用,因此您无法在其上调用任何实例成员.因此,如果x为null,x.Length则抛出一个NullReferenceException.
相反,""(或String.Empty)是一个恰好包含0个字符的普通字符串.它的实例成员工作正常,"".Length等于0.
要检查字符串是否为null空,请调用(惊讶)String.IsNullOrEmpty.
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |