如何使if语句的变量动态化

时间:2017-02-09 17:36:22

标签: c# if-statement for-loop

您好我正在尝试遍历一组int变量并在每个变量上执行if。即

int a0, a1, a2,a3;
for (int I=0; I < 3; I++)
{
    if("a" + I > 10)
    {
        // do something 
    }
}

这可能吗?

2 个答案:

答案 0 :(得分:0)

如果你想迭代,你需要一个集合

IEnumerable<int> numbers = new List<int> { 1, 2, 3, 10 };
foreach (var item in numbers)
{
    if(item > 10)
    {
        // do something
    }
}

当您编写"a" + I时,您所做的只是创建一个字符串,该字符串是两个部分的串联,而不是您之前定义的参数

然后您可以继续使用linq:

 var filtered = numbers.Where(item => item > 10)

答案 1 :(得分:0)

您可以将数组用作变量,以便可以迭代:

        int[] a = new int[3];
        a[0] = 5;
        a[1] = 10;
        a[2] = 15;            
        for (int I = 0; I < 3; I++)
        {
            if (a[I] > 10)
            {
                // do something, example:
                Console.WriteLine(a[I])
            }
        }

结果: 15