c# - 根据参数为 C# 字符串数组赋值

标签 c# arrays

在 C# 中,我有一个值的字符串数组。但是,基于参数,数组不应包含两个值,而应包含所有相同的其他值。处理这个问题的正确方法是什么? (我可以使用列表...但我希望有更好的方法)

示例代码:

bool msettingvalue=false;
string[] settings;
if(msettingvalue)
    settings = new string[]{
        "setting1","1",
        "setting2","apple",
        "msetting","true"};
else
    settings = new string[]{
        "setting1","1",
        "setting2","apple"};
//code that goes through settings

将数组分配给设置的正确方法是什么。所有的值都是一样的,就是如果 msettingvalue 是 false,它应该包括某些设置。 (如果您觉得更好,可以更改标题)。

编辑1 理想情况下,我希望继续使用 string[] 数组而不是字典,因为它更快……而且我按顺序遍历数组,所以我不需要键索引。

编辑2 我问过 followup希望有一种方法可以为此使用内联条件。

最佳答案

我强烈认为你应该使用 Dictionary<string, string>相反。

那么你可以:

bool msettingValue = false;
Dictionary<string, string> settings = new Dictionary<string, string> {
    {"setting1", "1"},
    {"setting2", "apple"},
}
if(msettingValue) {
    settings.Add("msetting", "true");
}

关于c# - 根据参数为 C# 字符串数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7788270/

相关文章:

c# - MVC中访问ViewData的集中函数

c# - 使用 XPath 测试当前节点

c# - 检查计算机从休眠状态恢复的原因

c# - 为什么 Response.Redirect() 在 Chrome 中有效,但在 IE 中无效?

Java - 多态性问题

javascript - 使用 Ramda 统一有关对象的信息

c++ - 使用 OpenGL 渲染位数组

c# - 生成 IL 以减少 for 循环中的计数器

php - 数组中的两个 PHP 值

python - 在 Numpy 中处理 N by 1 矩阵