18

私はこれを持っています:

Dictionary<integer, string> dict = new Dictionary<integer, string>();

値を含む辞書内のすべてのアイテムを選択したいabc

これを簡単に行える組み込み関数はありますか?

4

2 に答える 2

49

LINQを使用すると、かなり簡単です。

var matches = dict.Where(pair => pair.Value == "abc")
                  .Select(pair => pair.Key);

これは少しでも効率的ではないことに注意してO(N)ください。すべてのエントリをチェックする必要があるため、これは操作です。

これを頻繁に行う必要がある場合は、別のデータ構造の使用を検討することをお勧めします。これは、キーによるDictionary<,>高速ルックアップ用に特別に設計されています。

于 2013-01-03T19:47:59.243 に答える
0

組み込み関数? 申し訳ありません...しかし、別の(それほど美しくない)方法は、foreach(KeyValuePair<integer, string> ...

于 2013-01-03T20:00:32.080 に答える