C#变量初始化与赋值在我找到的一本书中(译):初始化就是在变量声明的时候赋值。intX=5称为初始化命令。编辑:它只是说术语初始化仅在声明时分配值时使用。如果您稍后再做,那就是它的正确分配(根据它-我不这么认为,这就是我问的原因)。这是真的吗?好吧,我一直认为(并且基于网上其他人所说的)首先将值分配给变量的初始化。我认为intX=5只是作为声明一部分的赋值。我尝试在MSDN上搜索但没有成功。感谢您提供任何信息。如果你问的是术语(*你的问题不是很清楚),那么变量的“初始化”实际上是第一次赋值。该术语来自您为其赋予变量的“初始”值。这应该(显然)发生在第一次使用之前。整数x=5;是一个声明和一个初始化,这实际上只是intx的一个方便的简写;x=5;通常,变量的初始化是声明后的第一个赋值,因为变量不会自动初始化。后续任务只是任务。voidfoo(){inti;//未初始化。字段除外,字段是在类或结构中声明的变量。在为此对象实例调用构造函数之前,这些值被初始化为其默认值。因此,即使您(第一次)在构造函数中将某些内容分配给某个字段并且该字段未在声明中初始化,它严格来说也是一个赋值,而不是初始化。不细说,我想很多程序员确实将构造函数中字段的第一次赋值视为初始化,并且可以在彼此的对话中使用它。可能这种用法/习语源于使用非托管语言,如C/C++,其中变量在首次声明时包含乱码,因此必须用非垃圾值填充(初始化)。classA{intx;//未初始化inty=1;//此处初始化A(){x=1;//严格来说,不是初始化,只是赋值。y=2;//显然在上面被初始化了}}对于不编写编译器或语言的程序员来说,能够与其他程序员进行有效的交流比知道初始化这个词的确切术语更重要。所以,继续用它来表示你周围的每个人都明白。虽然准确解释它的含义并没有错(但我可能不会因为害怕暴露我的迂腐倾向)。就个人而言,我会避免使用术语“初始化命令”来表示变量的书。一般来说,如果一个变量是第一次被赋值,它就会被初始化,无论是程序显式指定还是编译器/运行时隐式指定。但是,理解初始化机制非常重要,尤其是在使用类时。考虑通过下面的简单示例(在某处创建一个“Bar”实例)来查看编译器如何处理初始化过程。您会注意到这些字段是在初始化时声明的,并且在构造函数有机会设置它们之前都已“初始化”。公共类barBaseBase{protectedintx=5;公共barBaseBase(){x=4;}}公共类barBase:barBaseBase{protectedinty=4;公共barBase(){x=3;y=2;}}publicclassBar:barBase{protectedintz=3;公共酒吧(){x=2;y=1;z=0;请注意,初始化字段会导致C#编译器为每个构造函数发出初始化IL指令。因此,如果您有多个构造函数,您将重复初始化IL——即不必要的代码膨胀。最好在默认构造函数中初始化变量,让其他构造函数调用它。以上就是C#学习教程的全部内容:C#变量初始化与赋值分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
