私はこれを持っています:
Dictionary<integer, string> dict = new Dictionary<integer, string>();
値を含む辞書内のすべてのアイテムを選択したいabc
。
これを簡単に行える組み込み関数はありますか?
私はこれを持っています:
Dictionary<integer, string> dict = new Dictionary<integer, string>();
値を含む辞書内のすべてのアイテムを選択したいabc
。
これを簡単に行える組み込み関数はありますか?
LINQを使用すると、かなり簡単です。
var matches = dict.Where(pair => pair.Value == "abc")
.Select(pair => pair.Key);
これは少しでも効率的ではないことに注意してO(N)
ください。すべてのエントリをチェックする必要があるため、これは操作です。
これを頻繁に行う必要がある場合は、別のデータ構造の使用を検討することをお勧めします。これは、キーによるDictionary<,>
高速ルックアップ用に特別に設計されています。
組み込み関数? 申し訳ありません...しかし、別の(それほど美しくない)方法は、foreach(KeyValuePair<integer, string> ...