LINQを使用して辞書からデータを取得しようとしています。Lambdaを辞書で使用する
var testDict = new Dictionary<int, string>();
testDict.Add(1, "Apple");
testDict.Add(2, "Cherry");
var q1 = from obj in testDict.Values.Where(p => p == "Apple");
var q2 = from obj in testDict.Where(p => p.Value == "Apple");
上記のq1とq2のどちらの行でも、コンパイラエラーが発生します。
error CS0742: A query body must end with a select clause or a group clause
LINQを使用して辞書の値を検索するにはどうすればよいですか?
はあなたが必要とされていない、あなたの文の "にOBJから" 余分を持っている
リック
だけ明確にする、これが機能する理由は、IEnumerableを>として辞書の行為 –
セカンド表現pがペアになるようにも==「アップル」p.Valueを持っている必要があります<,>。 – Richard
これらは、IEnumerableの結果を返す式を取得します。あなたが実際のオブジェクトを実際にしたい場合は、Single()またはFirst()を呼び出す必要があります –