使用对象初始化程序有什么附加值? 与参考类型相比,在值类型上使用它有什么区别吗?
我最近安装了ReSharper,以下示例:
var response = new Response();
response.Value = "My value";
我的代码转换为:
var response = new Response()
{
Value = "My value",
};
就个人而言,当初始化程序太大时,我发现更难以遵循代码。
答案 0 :(得分:3)
这种情况在reference
或value
类型之间没有任何区别。
当初始化很短时,对象初始化程序是一个代码行中初始化对象的奇特方式。
更多方便在多线程期间,当您需要确定该行执行一次,您的对象已启动或处于有效状态时,它会成为您的程序。
但基本上这些都融入了编码风格和个人便利性。