2016-10-25 4 views
1

나는 키 - 값 쌍의 사전을 가지고있다. where 절의 오류를 확인하려면 어떻게해야합니까?C# where where clause fail

SomeDictionary.Where(x => x.Value && someOtherBool).First(); 

try-catch 블록을 사용하지 않고 결과를 반환했는지 확인하는 방법이 있습니까? 물론, ... 나는 FirstOrDefault()를 호출 할 수 있습니다하지만 난 후 필요하지 않습니다

정말 방법 FirstOrReturn(arg) ...

+0

내가 방법을 필요로해야이 있어야합니다 where 절이 실패하는 상황을 처리합니다. 그래서 아무 것도 발견되지 않으면 예외가 발생합니다. FirstOrDefault()를 사용하면 0을 얻습니다. 원하는 것이 아닙니다. – Norgul

+0

"Where'''가 아니라''Any Any'''가 필요합니까? – tym32167

+1

"실패"란 "아이템을 반환하지 않습니다"또는 "예외를 throw합니다"를 의미합니까? – Clint

답변

7

FirstOrReturn(arg)

.Where(x => x.Value && someOtherBool).DefaultIfEmpty(arg).First(); 
+2

lol 그것은 다음과 같이 핫픽스를 작성하는 것과 같다 : D – fubo

+0

이 구현이 더 빠르다. ? 다른 답변처럼 – Sherlock

+0

@MidTwo 만약'Any'를 사용한다면 또 다른 반복/요청에서 결과를 결정해야한다고 말하고 싶습니다 - 그래서 이것은 더 빨라야합니다. – fubo