使用对象初始化程序有什么附加值?

时间:2014-07-09 10:14:58

标签: c# resharper object-initializers

使用对象初始化程序有什么附加值? 与参考类型相比,在值类型上使用它有什么区别吗?

我最近安装了ReSharper,以下示例:

 var response = new Response(); 
 response.Value = "My value";

我的代码转换为:

var response = new Response()
{
   Value = "My value",
};

就个人而言,当初始化程序太大时,我发现更难以遵循代码。

1 个答案:

答案 0 :(得分:3)

这种情况在referencevalue类型之间没有任何区别。

当初始化很短时,对象初始化程序是一个代码行中初始化对象的奇特方式。

更多方便在多线程期间,当您需要确定该行执行一次,您的对象已启动或处于有效状态时,它会成为您的程序。

但基本上这些都融入了编码风格和个人便利性。