C#通过For循环中的值更改变量名称

时间:2019-05-22 02:29:42

标签: c# asp.net loops for-loop tostring

我有4个string List变量:

var cat1 = new List<string>();
var cat2 = new List<string>();
var cat3 = new List<string>();
var cat4 = new List<string>();

if (value== "1")
{
    cat1.Add(value.ToString());
}

else if (value== "2")
{
    cat2.Add(value.ToString());
}

else if (value == "3")
{
    cat3.Add(value.ToString());
}

else if (value== "4")
{
    cat4.Add(value.ToString());
}

我可以通过在每个循环增量中更改变量名称来使用if-else而不是使用4 for-loop吗?

例如:

for (int i = 1; i < 5; i++)
{
    cat[i].Add(value.ToString());
}

1 个答案:

答案 0 :(得分:3)

将列表放置在数组中,并在for循环中使用0到4的索引:

var cat1 = new List<string>();
var cat2 = new List<string>();
var cat3 = new List<string>();
var cat4 = new List<string>();

var cat = new[] { cat1, cat2, cat3, cat4 };

for (int i = 0; i < 4; i++)
{
    cat[i].Add(value.ToString());
}