0
如何简化对象初始值设定项内的条件语句,以便代码更易读?如果addNew为true,则新项目被添加到字典中,否则它将只有一个项目。带条件语句的对象初始值设定项
...
var channel = new ChannelConf {
Name = "Abc"
Headers = !addNew ? new Dictionary<string, string>
{
[Constants.Key1] = Id
}
: new Dictionary<string, string>
{
[Constants.Key1] = Id,
[Constants.Key2] = Port
}
}
...
可能想用标签标识语言。 –
你可能会想到使用构造函数重载'new ChannelConf(bool addNew)' – ibubi
* *不*使用initalizers中的条件? 'if(addNew){channel.Headers.Add(Constants.Key2,Port); }初始化后是一个巨大的改进。请记住,初始化器只是事后属性分配的简写。你没有得到奖励在一个街区挤压一切。 –