2012-07-29 5 views
6

私は特定の辞書のキーはは、ルックアップするためにどのように/キー

例えば値が含まれているかどうかを確認しようとしていることで辞書値をチェック

dict01が、私はそれがパフォーマンスを無駄にするようにしてくださいする必要がありますする必要はありません、私は鍵ペアを使用して辞書を反復処理するために抱えています現時点では「テスター」キー

に「テスト」というフレーズが含まれていません

+0

あなたはdict01を経由して値を取得することができます[「テスター」]、その後、 a。値の部分を含む。私は行方不明のものがありますか?特定のキーが分かっている場合は、そのキーの値を取得し、その文字列を検索するだけです。 – Joe

答えて

10

あなたはContainsKeystring.Containsを使用することができます。

var key = "tester"; 
var val = "testing"; 
if(myDictionary.ContainsKey(key) && myDictionary[key].Contains(val)) 
{ 
    // "tester" key exists and contains "testing" value 
} 

あなたはまた、TryGetValueを使用することができます。

var key = "tester"; 
var val = "testing"; 
var dicVal = string.Empty; 
if(myDictionary.TryGetValue(key, out dicVal) && dicVal.contains(val)) 
{ 
    // "tester" key exists and contains "testing" value 
} 
+0

これは、2つのキーと値をリンクしていないので、キー値で特定のパターンを検索したい場合はどうでしょうか?ただし、1つのキーでのみ検索してください。 – user1559618

+0

' TryGetValue'がより効率的になります。 –

+0

@desありがとう、それは私が後にしたものです! :) – user1559618

2

あなたは辞書を反復処理したくない場合は、次のメソッドを使用することができます二回

string value; 
var result = dict01.TryGetValue("tester", out value) && value.Contains("testing"); 
関連する問題