对于局部变量,绝对 - 第一个没有明确分配,第二个是.例如:
void DoesntCompile()
{
A a;
string x = a.ToString(); // Can't use a - it's not definitely assigned
}
void CompilesButGoesBang()
{
A a = null;
string x = a.ToString(); // Throws a NullReferenceException
}
Run Code Online (Sandbox Code Playgroud)
对于字段(静态或实例),if A是引用类型,它可能没有任何区别.我可以编写一个程序来演示它是一个静态变量的情况下的差异,但是它依赖于使用反射执行静态类型初始化器两次...讨厌.
如果你能提供更多关于你问的原因的背景,那真的会有所帮助.
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |