2013-02-22 2 views

답변

4

SelectMany으로 목록을 평평하게하고 모두 동일 할 경우 다음 확인 :

int value = -1; 
bool allSame = lst.SelectMany(a => a).All(i => i == value); 
+1

+1 : 원인 * more * concrete * then then mine. – Tigran

+0

@Tigran 감사합니다! 귀하의 대답은 하나의 배열에 맞습니다. 그러나 질문에 배열의 목록이 있습니다 –

+1

네 .. 그게 효과가 있어요 .Thxs Man !! .. – Raju

0

당신은 확인할 수 LINQ와 함께 제공되는 .All(...) 확장 방법을 사용하여.

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(...)을 사용할 수 있습니다 : 두 배열 항목, 당신은 .AddRange(...)를 사용해야하고 List<T>T 매개 변수 int 대신 int[]해야와 목록을 작성하기 위해

:

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

... 나 :

0

-1뿐 아니라 동일한 값을 확인하려는 경우이 방법이 유용합니다.

var l = lst.SelectMany(_ => _); 
bool areSame = l.All(_ => l.FirstOrDefault() == _); 
관련 문제