【发布时间】:2010-10-31 10:49:33
【问题描述】:
我是否初始化一个整数变量有什么区别:
int i = 0;
int i;
编译器或 CLR 是否将其视为同一件事? IIRC,我认为它们都被视为同一个东西,但我似乎找不到这篇文章。
【问题讨论】:
-
Fields 总是自动初始化为字段类型的默认值,在 int 的情况下为零。字段被认为是明确分配的;您甚至可以在明确分配之前阅读它们的内容。 Locals 不被认为是明确分配的;在读取本地内容之前,您需要执行一些分配本地值的操作。有关详细信息,请参阅 C# 规范的“明确分配”部分。
标签: c# initialization default-value