キーがない場合にnullを返してたということを思い出したw。http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_02/csharp20_02_03.htmlTryGetValueの使い方的には下記通り。ContainsKeyした後に値を取得するのと同等の処理が1メソッドで実行可能です。dictionaryに含まれていた場合の処理。}TryGetValueには、個人的に気に入らない点があって、out用の変数を前もって宣言しないといけないところです。このせいで、ラムダ式がExpression-Body形式でかけなかったりと割と不便なんですよね。この点はC#7で改善されるらしいので期待。ところで、変数のスコープが広くなるのって誰がうれしいんだろう?って思ったりしてます。いうわけで、現状はTryGetValueを使うことになるのですが、あまり便利じゃないので拡張メソッドで各種便利にしようって試み。あったら取得、なかったら追加して取得。result;}割とよくあるシチュエーションですので、こういう拡張メソッドがあれば便利かもですね。最近はスレッドセーフなConcurrentDictionaryを使う一択な気もします。最初からGetOrAddメソッドが用意されています。なかったらデフォルト値を返却。func(key);}これも割とありがちですね。値を返すメソッドとデリゲートを引数に取るメソッドの2つ用意しておくと便利です。戻値を使って何かしたいケースですね。話は変わって、Dictionary系の拡張メソッドを作る場合の注意点というか面倒くさい点があってですね。source);と、同じ中身のメソッドを山程定義せにゃならんのですよ。読み込み中...関連コメントするコメントする»まだコメントはありません。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。あの長文blogをめちゃめちゃわかりやすくまとめていただきました。非常にとっつきやすいので、他の方にWaaSを説明する際にはぜひご活用ください。agoモニタ買うなら4Kやろ。Blog.%d人のブロガーが「いいね」をつけました。