2

リストが同じ値、つまり-1であるかどうかを確認したいすべての整数配列のリストがあります。

例:

int[] intk= {-1,-1,-1,-1,-1,-1};
int[] intl = { -1, -1, -1, -1, -1, -1 };
List<int[]> lst = new List<int[]>();
lst.Add(intk);
lst.Add(intl);

lstを見つける方法は-1だけです。

4

3 に答える 3

4

でリストをフラット化してSelectManyから、すべてが同じかどうかを確認します。

int value = -1;
bool allSame = lst.SelectMany(a => a).All(i => i == value);
于 2013-02-22T13:01:29.697 に答える
0

.All(...)LINQにバンドルされている拡張メソッドを使用して確認できます。

両方の配列項目を含むリストを作成するには、を使用する必要が.AddRange(...)あり、のTパラメーターは次の代わりに使用するList<T>必要があります。intint[]

int[] intk= {-1,-1,-1,-1,-1,-1};
int[] intl = { -1, -1, -1, -1, -1, -1 };
List<int> lst = new List<int>();
lst.AddRange(intk);
lst.AddRange(intl);

そして今、あなたは使用できるようになります.All(...)

bool result = lst.All(item => item == 1);

...また:

bool result = lst.All(item => item == -1);
于 2013-02-22T13:06:16.693 に答える
0

これは、-1だけでなく同じ値をチェックする場合に機能します。

var l = lst.SelectMany(_ => _);
bool areSame = l.All(_ => l.FirstOrDefault() == _);
于 2013-02-22T13:08:21.507 に答える