我每天都使用 ReSharper
,今天我问自己为什么 ReSharper 在我这样做时建议“使用对象初始化程序”:
MyClass myClass = new MyClass();
myClass.MyInt = 0;
myClass.MyString = string.Empty;
它被替换为:
MyClass myClass = new MyClass
{
MyInt = 0,
MyString = string.Empty
};
这是否优化了我的代码的执行,还是只是重新格式化的问题?
就我个人而言,我喜欢它。但有时我讨厌它,因为这个:
我无法进行逐步
调试:(
最佳答案
第二个包含的字符较少,因此阅读起来更紧凑。您不必再重复 myClass 2 多次,并且初始化逻辑在一个 block 中。
它实际上是一种语法糖,不会改变生成的代码中的任何内容。如果您不喜欢它,您可以随时禁用 ReSharper 上的警告。
此处有一篇关于使用对象初始化器的优点的长篇博文:
关于c# - 使用对象初始化器 - Resharper 建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20683279/