2011-10-17 9 views
-1

私はidが「ZJ」.Whereを使用して辞書の値にアクセスするにはどうすればよいですか?

Dictionary<string,string> z = dm.UpdateAndReturnIdol(User, id, v).where(keys.equals("zj")); 
+0

「UpdateAndReturnIdol」とは何ですか? –

+4

タイトルに「C#:」などのプレフィックスを付けないでください。それが私たちが[so]のタグを使用する理由です。 –

+1

'UpdateAndReturnIdol'の戻り値の型は、返された後でフィルタリングする' Dictionary 'ですか?それとも、フィルタリングしたい辞書の中に投影したい別の型のシーケンスを返しますか? –

答えて

5

戻り値の型がある場合Dictionary<string, string>その後、あなただけの値を調べることができ、例えばに等しい任意の値にしたいです

Dictionary<string, string> dictionary = dm.UpdateAndReturnIdol(User, id, v); 
string value = dictionary["zj"]; 

か、エントリがあるかどうかわからない場合:

Dictionary<string, string> dictionary = dm.UpdateAndReturnIdol(User, id, v); 
string value; 
if (dictionary.TryGetValue("zj", out value)) 
{ 
    // Use the value 
} 

ここWhereを使用する必要はありません - 辞書の全体ポイントあなたがルックアップすることができるということですキーごとに1つの値しかないので、のシーケンスの値を取得する必要はありません。

+1

笑良い点と+1 – BrokenGlass

+0

ええ、私はあまりにも明らかに逃した。 '.Where'がキーに対して意味を持つ唯一のコンテキストは、ユーザーが部分一致またはあいまい一致の場合です。そうであれば、(a)おそらく辞書の誤用であるが、(b)「Where」は意味をなさない。そうでなければ...いいえ。 –

+0

Jon Skeetが答えを投稿するとすぐに、他のすべての答えはすべてオフになります。 –

関連する問題