-1

配列を反復処理し、2 以上 4 未満の値のみを表示する単純な配列の例を C# で作成しようとしています。

if ステートメントでは、反復関数内で 2 つの部分からなるステートメントをどのように定式化するのが最善かわかりません。これは私が持っている例で、明らかに何もしません: else 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

4 に答える 4

5

1 つのステートメントでそれを行うことができます。

for (int i = 0; i < array.Length; i++)
{
    if (array[i] >= 2 && array[i] < 4)
    {
        Console.WriteLine(array[i]);
    }
}
于 2015-02-09T19:05:43.993 に答える
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));
于 2015-02-09T19:08:44.840 に答える
1

条件付き AND 演算子( &&)を使用する

else if (array[i] >= 2 && array[i] <4)
于 2015-02-09T19:05:51.823 に答える
0

他の回答で述べたように、条件付き AND 演算子 (&&) がありません。

それを使うとあなたは変わる

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

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

ただし、現在のコードで 1 つ改善できます。と で同じ操作を行っているため、連続比較 (つまり、2,3,4 などは true を返します) と比較しています。これをさらに単純化できます。ifelse ifint

for (int i = 0; i < array.Length; i++)
{
    if(array[i] >= 2)
    {
         Console.WriteLine(array[i]);
    }
}
于 2015-02-09T19:27:34.130 に答える