我只是尝试了一个小代码片段来查看值类型初始化是如何工作的。下面是代码片段
public MainWindow()
{
InitializeComponent();
int num;
char alpha;
//if (num == null)
//{
// // this is null
//}
//else
//{
// string value = num.ToString();
//}
}
有意对某些代码进行注释以正确构建项目。即将到来的汇编是
Use of unassigned local variable 'num'
我知道所有变量都应该在使用前分配。但是当我调试时发现num的值为0。如果默认初始化为0,那么为什么我们需要在使用它之前总是分配一些值。
它会是一种nullable
我理解使用未分配变量的风险的类型,该变量将通过异常。
现在假设我想使用 num 的零值,它在没有任何赋值的情况下已经可用,为什么我必须初始化 num?
有人可以说这就是 .NET/C# 的工作方式。但这背后一定有一些强有力的理由。你能说出这个原因吗?