C#编程风格问题 - 在实际分配之前分配Null

ter*_*tyl 5 c# coding-style

编程这种风格是否有充分的理由(优势)

XmlDocument doc = null;
doc = xmlDocuments[3];
Run Code Online (Sandbox Code Playgroud)

VS

XmlDocument doc = xmlDocuments[3];
Run Code Online (Sandbox Code Playgroud)

我已经看过很多次,但对我而言,它似乎过于冗长

Jon*_*eet 30

不 - 通常认为最好的做法是尽可能晚地声明变量,最好在声明点设置它.我不这样做的唯一时间是我必须有条件地设置变量,或者它设置在更严格的范围内:

String name;
using (TextReader reader = ...)
{
    // I can't declare name here, because otherwise it isn't
    // accessible afterwards
    name = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

在可能的情况下首次使用时声明的原因:

  • 它使变量的类型保持接近其使用 - 无需在方法中向上滚动以查找它.
  • 它使范围尽可能地缩小,这使得变量的使用更加明显.


Mit*_*eat 18

我会用

XmlDocument doc = xmlDocuments[3];
Run Code Online (Sandbox Code Playgroud)

声明使用它们的变量.