我正在尝试在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();
寻找有关如何最好地创建此功能的建议。
答案 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)
但是,您可以使用当前代码做得更好。由于您在if
和else if
中执行相同的操作,并且您正在与int
进行比较(即:2,3) ,4等返回true)。您可以进一步简化它:
for (int i = 0; i < array.Length; i++)
{
if(array[i] >= 2)
{
Console.WriteLine(array[i]);
}
}