C#IF / Else数组

时间:2015-02-09 19:03:28

标签: c# arrays literate-programming

我正在尝试在C#中创建一个简单的数组示例,它遍历数组,只显示大于或等于2但小于4的值。

在if语句中,我不确定如何在迭代函数中制定两部分语句。这是我的例子,显然没有做任何事情:否则if(array [i]> = 2 array [i]< 4)

我想要创建的完整代码:

int[] array = new int[5];

            array[0] = 1;
            array[1] = 2;
            array[2] = 3;
            array[3] = 4;
            array[4] = 5;

            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] >= 4)
                {
                    Console.WriteLine(array[i]);
                }
                else if (array[i] >= 2 array[i] <4)
                {
                    Console.WriteLine(array[i]);
                }
                else
                {}

            }
            Console.ReadKey();

寻找有关如何最好地创建此功能的建议。

4 个答案:

答案 0 :(得分:5)

您可以在一个声明中完成:

for (int i = 0; i < array.Length; i++)
{
    if (array[i] >= 2 && array[i] < 4)
    {
        Console.WriteLine(array[i]);
    }
}

答案 1 :(得分:4)

LINQ是你的朋友

var selected = array.Where(x => x>= 2 && x < 4);

如果你真的想要一个带控制台IO的单线程

array.Where(x => x>= 2 && x < 4).ToList().Foreach(x=>Console.WriteLine(x));

答案 2 :(得分:1)

使用conditonal AND operator&&

else if (array[i] >= 2 && array[i] <4)

答案 3 :(得分:0)

正如其他答案所提到的那样,您缺少条件AND运算符(&amp;&amp;)。

使用它会改变你的

else if (array[i] >= 2 array[i] <4)

else if(array[i] >= 2 && array[i] < 4)

但是,您可以使用当前代码做得更好。由于您在ifelse if中执行相同的操作,并且您正在与int进行比较(即:2,3) ,4等返回true)。您可以进一步简化它:

for (int i = 0; i < array.Length; i++)
{
    if(array[i] >= 2)
    {
         Console.WriteLine(array[i]);
    }
}