【发布时间】:2014-07-30 15:06:20
【问题描述】:
在我上一份工作中,我的经理告诉我,他阅读了有关变量声明的 Microsoft 最佳实践指南。
例如,我想声明一个 int、一个字符串和一个泛型类型,以及它们的默认值:
int intValue = 0;
string stringValue = null;
T genericValue = default(T);
上面的例子说明了所有变量都被初始化为它们的默认值,显式(和字面上),除了泛型类型的情况;这里我们使用default(T) 将成员隐式初始化为其默认值。
我的经理提出的论点是所有变量,即使在我们使用默认值初始化它们的情况下,也应该使用 default(...); 进行初始化
int intValue = default(int);
string stringValue = default(string);
T genericValue = default(T);
在某些方面我可以理解为什么这种方法可能是有利的,因为变量的声明和初始化是一致的。
我想知道是否有人知道我的经理声称的合法性,在这方面,您是否可以在 Microsoft 的 .NET 和 C# 最佳实践文档中为我指出行规的方向
【问题讨论】:
-
有一个 FxCop 规则强制删除无操作字段初始值设定项。