2011-09-16 3 views
0

나는 C#에서 keyvaluepair의 목록을 가지고 있고 두 개의 키를 확인하고 싶다면 두 가지가 모두 존재한다면 모두 true를 반환해야한다.List <keyvaluepair <string, string >>의 여러 키를 어떻게 확인할 수 있습니까?

난 내 코드는 C#에서 일뿐만 아니라 같은 하나 개의 문장을 쓰기를 통해이 작업을 수행 할 수있는 방법을 누군가가 그들을 말할 수있는 것은

(info.Exists(x => x.Key == "user" && x.Key == "pass")) 

답변

3

그것은 당신이 원하는 같은 소리 :

if (info.Any(x => x.Key == "user") && info.Any(x => x.Key == "pass")) 

은 (내가 사용했습니다 Any 여기에 LINQ를 사용하여 IEnumerable<T>을 사용하는 것이 더 일반적이지만 List<T>에 대해서도 을 사용할 수 있습니다.

마찬가지로 재미있는 대안 :

string[] requiredKeys = { "user, "pass" }; 
if (!requiredKeys.Except(info.Select(x => x.Key)).Any()) 
{ 
    ... 
} 
+0

당신은 19 초 나를 이겼습니다. 닫기 레이스 :) (그리고 문자 답변에 의한 거의 문자). – Ray

관련 문제