我一直试图理解以下术语:最初赋值的变量和最初未赋值的变量。但我不确定我对这些术语的解释是否正确。底部加粗的文字是我的解读。所以,如果我误解了什么,请随时纠正我。
在阅读了以下有关变量的C#Microsoft文档https://docs.Microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/variables#precise-rule-for-determination-definited-assignment)之后,它指出:“变量要么是初始赋值的,要么是初始未赋值的。初始赋值的变量有一个定义良好的初始值,并且始终被认为是明确赋值的。初始未赋值的变量没有初始值。”
因此,根据我从上述声明中的理解:
初始赋值的变量指的是一个变量,在第一次声明时,该变量要么用相应的默认值自动初始化(因为这样的变量可能是),要么由程序员显式初始化。这种解释正确吗???
***以下变量分类为初始赋值(根据C#文档):
初始未赋值变量指的是一个变量,当它第一次声明时,它既没有用相应的默认值自动初始化(因为这样的变量不可能),也没有被程序员显式初始化。这种解释正确吗???
***以下类别的变量被分类为初始未赋值(根据C#文档):
初始赋值的变量指的是一个变量,该变量在第一次声明时,要么是用各自的默认值[...]自动初始化的
如果我没理解错的话,那就不是。
示例:
bool b;
Console.WriteLine(b);
这将抛出:
Use of unassigned local variable 'b'
如果您指定了一个值,则为“初始分配”:
bool b = true;
如果你不这么做就没有任务。