リストが同じ値、つまり-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だけです。
リストが同じ値、つまり-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だけです。
でリストをフラット化してSelectMany
から、すべてが同じかどうかを確認します。
int value = -1;
bool allSame = lst.SelectMany(a => a).All(i => i == value);
.All(...)
LINQにバンドルされている拡張メソッドを使用して確認できます。
両方の配列項目を含むリストを作成するには、を使用する必要が.AddRange(...)
あり、のT
パラメーターは次の代わりに使用するList<T>
必要があります。int
int[]
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);
これは、-1だけでなく同じ値をチェックする場合に機能します。
var l = lst.SelectMany(_ => _);
bool areSame = l.All(_ => l.FirstOrDefault() == _);