コレクションに一致するアイテムが1つしかないことがわかっている場合、Linqにこれを通知して、検索が見つかったときに検索を中止する方法はありますか?
私はこれらの両方が1つのアイテムを返す前に完全なコレクションを検索すると仮定していますか?
var fred = _people.Where((p) => p.Name == "Fred").First();
var bill = _people.Where((p) => p.Name == "Bill").Take(1);
編集:FirstOrDefault
人々は、、またはに固執しているようですSingleOrDefault
。これらは私の質問とは何の関係もありません。コレクションが空の場合、これらは単にデフォルト値を提供します。私が述べたように、私のコレクションには単一の一致するアイテムがあることを知っています。
AakashMのコメントは私にとって最も興味深いものです。私の仮定は間違っているように見えますが、その理由に興味があります。たとえば、オブジェクトへのlinqが私のサンプルコードでWhere()関数を実行している場合、その戻り値にさらに操作があることをどのようにして知ることができますか?