Mat*_*ell 19
字符串为null的原因是因为字符串是引用类型,并且所有引用类型的默认值都为null(即没有引用).
最好的参考是默认值表(请记住默认情况下所有引用类型都设置为null),但下面的一些示例提供了一个不错的主意:
string a = default(string); // null
String b = default(String); // null
int c = default(int); // 0
int? d = default(int?); // null
Object e = default(object); // null
double f = default(double); // 0.0
// an instance of someStruct with fields set to default(theirType)
someStruct g = default(someStruct);
Run Code Online (Sandbox Code Playgroud)
字符串类似似乎是一种值类型,因为它看起来很原始.此外,它是不可变的意味着您永远不能修改字符串,而只是设置字符串符号以指向新字符串"值"(它们自己是引用),给人的印象是字符串是值类型.
例如:
string a = "boo";
/* Mem contains reference to "boo" and symbol 'a' => reference("boo") */
a = "gah";
/* Mem contains references to "boo" and "gah". symbol 'a' -> reference("gah") */
Run Code Online (Sandbox Code Playgroud)
有关字符串的更多信息,请参阅此文章.
并且不要忘记默认值表.
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |