2016-10-25 3 views
1

私はキーと値のペアの辞書を持っています。 where句の失敗を確認するにはどうすればよいですか?C#where節が失敗する

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

これはtry-catchブロックで囲むことなく、いくつかの結果を返したかどうかを確認する方法はありますか?確かに、本当に方法FirstOrReturn(arg)があるはず

...私は FirstOrDefault()を呼び出すことができますが、私は、私はその後、必要なものを得ることはありません...

+0

する必要があります私は方法が必要ですwhere句が失敗する状況を処理します。だから、何も見つからなければ、例外がスローされます。私がFirstOrDefault()を使うと、私は0を得ます。これは私が望むものではありません – Norgul

+0

'' 'Where'''ではなく' 'Any Any'''ですか? – tym32167

+1

"失敗"を定義する "返さない"または "例外をスローする"という意味ですか? – Clint

答えて

7

FirstOrReturn(arg)

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

LOLこれはprodでの修正のようです:D – fubo

+0

これはもっと速いです。 ? – Sherlock

+0

@MidTwoもし 'Any'を使うと別の反復/要求で結果を判断しなければならないと言いたいです - これはもっと速くなければなりません – fubo