0

他の複数の質問/回答を組み合わせてみましたが、成功しませんでした。

0 から 10 までの整数を含む配列があります。今度は、8 などより大きい整数のみを含む配列が必要です。

これらの整数のみを含むサブ配列をフィルタリングまたは作成するにはどうすればよいですか?

4

3 に答える 3

6

LINQ が必要なようです。例えば:

int[] largeIntegers = allIntegers.Where(x => x > 8).ToArray();

ただし、何をする必要があるかによっては、電話が本当に必要ない場合がありToArrayます。例えば:

IEnumerable<int> largeIntegers = allIntegers.Where(x => x > 8);
foreach (int value in largeIntegers)
{
    ...
}

ただし、LINQ にはフィルタリング以上の機能があります。LINQ について適切に学習することを強くお勧めします。ネット上には、LINQ に関する膨大な量の資料があります。たとえば、LINQ to Objects に関するブログ シリーズ全体がありますが、LINQ はインプロセス クエリだけではありません。

多くの場合、配列よりも他のコレクションを優先する理由については、Eric Lippert のブログ投稿「arrays thinks some損害」をお読みになることをお勧めします。

別の代替手段は、次を使用することArray.FindAllです。

int[] largeIntegers = Array.FindAll(allIntegers, x => x > 8);

...しかし、これは実際にあなたを配列に結び付けます。LINQ はより一般的です。

于 2012-06-05T14:03:52.217 に答える
3

LINQを使用して配列をフィルタリングできます。

var filteredArray = existingArray.Where(x => x > 8).ToArray();
于 2012-06-05T14:03:58.123 に答える
0

LinQを使用できます:

(from num in array where num > 8 select num).ToArray();

また、試すことができます:

var filteredArray = yourArray.Where(c => c >8);
于 2012-06-05T14:03:49.947 に答える