-6

私はそのような構造を持っています

List<int[]> nodeIds = new List<int[]>();

から各要素を取得できますint[]か?どうすればそれを行うことができますか?

4

5 に答える 5

3

例えば:

foreach(int[] items in nodeIds)
  foreach(int item in items)
    // do something with item
于 2013-02-19T08:15:22.653 に答える
1

Linq Enumerable.SelectManyメソッドを使用して、シーケンスを 1 つのシーケンスにフラット化できます。

IEnumerable<int> allIds = nodeIds.SelectMany(x => x);

更新: 結果のシーケンスで一意の ID のみが必要な場合は、シーケンスをフラット化した後にEnumerable.Distinctも適用します。

于 2013-02-19T08:14:36.480 に答える
0

あなたがする必要があるListint[]は、の各アイテムの各要素を取得することですList。そのためには、ネストされたサイクルを使用する必要があります.1つはリストに対して、2番目は現在考慮されているリスト項目の配列に対してです。

于 2013-02-19T08:14:26.843 に答える
0

何かのようなもの:

foreach(var nodeId in nodeIds)
{
    foreach(var id in nodeId)
    {
        //do stuff with id
    }
}

また

nodeIds[0][0]
于 2013-02-19T08:15:08.420 に答える
0

リスト内のすべての配列からすべての整数を取得する場合は、次のSelectManyメソッドを使用できIEnumerableます。

IEnumerable<int> allIDs = nodeIds.SelectMany(a => a);

を使用して結果を列挙したり、結果foreachに対して集計を実行したりできます。

于 2013-02-19T08:16:07.723 に答える