我有一個列表,我想檢查列表是否具有相同的值,即-1的所有整數數組。檢查數組的列表是否具有相同的值
for ex。
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的所有整數數組。檢查數組的列表是否具有相同的值
for ex。
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);
您可以檢查與使用LINQ捆綁.All(...)
擴展方法。
爲了創建與兩個數組項,你應該使用.AddRange(...)
和List<T>
的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() == _);
+1:cause more * concrete * answer then mine。 – Tigran 2013-02-22 13:07:46
@Tigran謝謝!你的答案對於單個陣列是正確的,但有問題的陣列列表 – 2013-02-22 13:08:36
是的..那個工作..Thxs人!! .. – Raju 2013-02-22 13:12:04