※ この記事にはアフィリエイトリンクが含まれます
C#において頻繁に使用されるコレクションの一つに、Dictionary があります。これは、キーと値のペアを管理するデータ構造であり、例えばユーザー名とスコアのように、何かを「対応づけて保存」したい場面で非常に役立ちます。
しかし、Dictionary を使う際に注意しなければならない点があります。それは「存在しないキーにアクセスしようとすると例外が発生する」ということです。初心者の方がつまずきやすいポイントでもありますね。
本記事では、C#の Dictionary において、特定のキーが存在するかどうかを安全に確認する方法について、基本から丁寧に解説してまいります。「ContainsKey」と「TryGetValue」という2つの主要なメソッドの使い方を中心に、実用的なサンプルも交えながらご紹介いたします。
それでは、一緒に確実で安全なDictionary操作の第一歩を踏み出していきましょう。
Dictionaryの基本的な使い方は、こちらで紹介をしております。ぜひご覧ください。

存在チェックの方法1:ContainsKeyメソッド
最も基本的な方法は、ContainsKey メソッドを使うことです。
これは、指定したキーが Dictionary に存在するかどうかを bool 値で返してくれるシンプルなメソッドです。
if (scores.ContainsKey("Alice"))
{
Console.WriteLine("Aliceのスコアは存在します。");
}このように事前に存在を確認しておけば、安心して値を取り出すことができます。
特に、入力されたキーが事前に分からない場面(例:ユーザー入力)では、必ず ContainsKey でチェックする習慣をつけておきたいところです。
存在チェックの方法2:TryGetValueメソッド
もう一つの便利な方法が、TryGetValue を使うことです。
このメソッドは「キーが存在するか確認しつつ、値の取得まで一度に行う」ことができるという優れモノです。
if (scores.TryGetValue("Bob", out int score))
{
Console.WriteLine($"Bobのスコアは {score} 点です。");
}
else
{
Console.WriteLine("Bobのスコアは見つかりませんでした。");
}ご覧のとおり、TryGetValue を使うことで、存在確認と値の取り出しが一体化され、コードがすっきりとします。ContainsKey → 取得 という2段階よりも効率的ですので、「値も必要」な場合はこちらを積極的に使ってみましょう。
存在チェックの注意点
大文字・小文字の違いに注意
Dictionary<string, T> では、デフォルトではキーの比較は「大文字・小文字を区別」します。
var dict = new Dictionary<string, string>();
dict["Apple"] = "果物";
Console.WriteLine(dict.ContainsKey("apple")); // false(大文字・小文字が違うため)もし大文字・小文字を無視したい場合は、StringComparer.OrdinalIgnoreCase を使いましょう。
var dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);存在しないキーにアクセスすると例外になる
何度でも強調しておきたいのですが、存在しないキーを dict[key] で直接アクセスすると例外(KeyNotFoundException)が発生します。
開発中にクラッシュしないよう、必ず存在チェックを行うように心がけましょう。
まとめ
Dictionaryを使う際には、キーの存在チェックが不可欠です。- 単に存在を確認したい場合は
ContainsKeyを、値も一緒に欲しい場合はTryGetValueを使いましょう。 - 大文字・小文字の違いや例外には十分注意。
C#の Dictionary を安全に、そして快適に使いこなすために、今回ご紹介した内容をぜひ活用してみてください!

C#エンジニアとして、もっと自分の力を活かしたいあなたへ
「このまま今の職場にいて、成長できるんだろうか?」
C#を使っている方なら、一度はそう感じたことがあるかもしれません。
実は今、C#/.NETエンジニアの市場価値は高まっており、
年収アップ・フルリモート・自社開発企業など、選べる選択肢は確実に増えています。
もし今後、C#を活かして働きたい、あるいは開発現場で経験を積みたいとお考えなら…
自分に合った転職サービスを早めに知っておくことが大きな武器になります。
現役エンジニアからのサポート付き・無料で学べるスクール・社内SE特化の求人など、
2025年注目の転職支援サービスを厳選したまとめ記事をこちらで紹介しています👇

社内SEになるなら、「社内SE転職ナビ」がおすすめ

「社内SE転職ナビ」は社内SEに特化したITエンジニア専門の転職・求人サイトです。
エンジニアの社内SEの定義は、「客先常駐がないこと」

社内SEに特化しているこそ、豊富な社内SE・自社開発・情報システム求人を保有しています。
保有求人数は10,000件以上、サイト公開求人数は4,000件以上なので、
社内SEを目指している方は会員登録しておいて損はないです!
コメント