c# - Object initializer with conditional statement -
how can simplify conditional statement inside object initializer code more readible? if addnew true, new item added dictionary, otherwise have 1 item.
... 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           } } ...      
you call method initialize headers:
... new channelconf { name = "abc" headers = getnewdictionary(addnew) } ...  private dictionary<string, string> getnewdictionary(bool addnew) {     dictionary<string, string> output = new dictionary<string, string> { [constants.key1] = id };      if (addnew) { output.add(constants.key2, port); }      return output; }   alternately, leave way , reduce number of lines:
... 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 } } ...      wiki
Comments
Post a Comment