コレクション LINQ

[C#] DictionaryのValue値からキーを取得する

2021年7月10日

DictionaryのValue値からキーを取得するサンプルです。

サンプル

例)Value値からKeyを取得する

using System.Collections.Generic;
using System.Linq;

//Dictionaryの生成
Dictionary<string, string> dc = new Dictionary<string, string>();

//要素の追加
dc.Add("01", "大阪");
dc.Add("02", "京都");
dc.Add("03", "神戸");

//値="京都"のキーを取得する
var k1 = dc.FirstOrDefault(x => x.Value.Equals("京都")).Key;

//値="奈良"のキーを取得する
var k2 = dc.FirstOrDefault(x => x.Value.Equals("奈良")).Key;

結果

k1 → "02"
k2 → null

同じValue値が存在する場合は一番最初にヒットした要素のKeyが返ります。

備考

  • Dictionaryの値からキーを取得するには、上記サンプルのようにLINQを使うと簡単です。
  • キーがint等の基本データ型の場合で、要素が存在しない場合は0が返ります。

-コレクション, LINQ
-