12

次の配列を検討してください。

int[,] numbers = new int[3, 2] { { 2, 1 }, { 3, 4 }, { 6, 5 } };

LINQ を使用して、2、1、3、4、6、5 の IEnumerable を構築したいと考えています。

そうするための最良の方法は何ですか?

4

3 に答える 3

6

単純な foreach を使用して、2 次元配列から数値を取得します。

int[,] numbers = new int[3, 2] { { 2, 1 }, { 3, 4 }, { 6, 5 } };
foreach(int x in numbers)
{
   // 2, 1, 3, 4, 6, 5.
}

LINQ (単純な反復配列の代わりに、OfTypeIterator の CastIterator (Tim の回答) が作成されるため、最初のタスクに Linq を使用するのは大きなオーバーヘッドです)

IEnumerable<int> query = numbers.OfType<int>();
于 2012-12-11T15:18:51.020 に答える