字符串[]数组中的C#内联条件

字符串[]数组中的C#内联条件,c#,conditional-statements,arrays,C#,Conditional Statements,Arrays,如何对C#中的字符串[]数组执行以下内联条件。基于一个参数,我想包括一组字符串…或者不包括。这个问题是我的后续问题 如果msettingvalue为true,我希望包含两个字符串“msetting”,“true”:否则不包含字符串 Edit1 它不必是一个键值对…如果要添加(或不添加)5个字符串会怎么样…我不认为这会有那么棘手 (还有…有足够代表性的人可以做一个“内联条件”或“条件内联”标记吗?使用一个通用的列表 …最后两行甚至可能是 settings.Add({"msetting",msett

如何对C#中的字符串[]数组执行以下内联条件。基于一个参数,我想包括一组字符串…或者不包括。这个问题是我的后续问题

如果msettingvalue为true,我希望包含两个字符串“msetting”,“true”:否则不包含字符串

Edit1 它不必是一个键值对…如果要添加(或不添加)5个字符串会怎么样…我不认为这会有那么棘手

(还有…有足够代表性的人可以做一个“内联条件”或“条件内联”标记吗?

使用一个通用的
列表

…最后两行甚至可能是

settings.Add({"msetting",msettingvalue.ToString());

根据您的代码示例,msettingvalue在数组初始化语句中始终为true。FWIW,也许
字典
KeyValuePair[]
(或…)更适合设置对?使用字典,你把自己编码到了一个角落里,根本没有理由这么做。@pst它只是和给定的要求一样难看。如果我要定义它,我肯定不会使用字符串数组来存储键/值对。可能会是一个
字典
,在这种情况下,您可以将给定键的值设置为null。还是不要。我不认为这个答案尊重问题标题中使用的“内联”一词。。。
settings = new string[]{"setting1","1", "setting2","apple"}
    .Concat(msettingvalue ? new string[] {"msetting","true"} : new string[0]);
    .ToArray()
bool msettingvalue=false;
string[] settings;
var s = new List<String>();
s.AddRange({"setting1","1","setting2","apple"});
if(msettingvalue)
    s.AddRange({"msetting","true"});
settings = s.ToArray();
bool msettingvalue=false;
var settings = new Dictionary<String,String>();
settings.Add("setting1","1");
settings.Add("setting2","value2");
if(msettingvalue)
    settings.Add({"msetting","true");
settings.Add({"msetting",msettingvalue.ToString());