【问题标题】:How to make the variable of an if statement dynamic如何使if语句的变量动态化
【发布时间】:2017-02-09 17:36:22
【问题描述】:

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

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

这可能吗?

【问题讨论】:

    标签: c# if-statement for-loop


    【解决方案1】:

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

    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)
    

    【讨论】:

    • 谢谢你现在很有意义。
    【解决方案2】:

    您可以使用数组作为变量,这样您就可以对其进行迭代:

            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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      相关资源
      最近更新 更多