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); }初始化後是一個巨大的改進。請記住,初始化器只是事後屬性分配的簡寫。你沒有得到獎勵在一個街區擠壓一切。 –