Dictionary<string, string>
オブジェクトにすべてのオブジェクトのセットがキーとして含まれているかどうかを判断するための最良の方法を見つけようとしてstring
います。
私はおそらく意味をなさないので、ここに明確な文字列のセットを使用したいくつかのサンプルコードがあります:
public static bool ContainsKeys(this Dictionary<string, string> dictionary)
{
return dictionary.ContainsKey("fname") && dictionary.ContainsKey("lname") && dictionary.ContainsKey("address1") &&
dictionary.ContainsKey("city") && dictionary.ContainsKey("state") && dictionary.ContainsKey("zip");
}
ここでの考え方は、任意の文字列のセットをとして受け入れ、オブジェクトkeys
のキーにのすべての文字列が含まれているかどうかを確認することです。Dictionary<string, string>
keys
私はこれでLINQの道を下ろうとしていました:
public static bool ContainsKeys(this Dictionary<string, string> dictionary, string[] keys)
{
var query = from entry in dictionary
where keys.Contains(entry.Key)
select entry;
return query.Any();
}
しかし、私が正しい道を進んでいるかどうかはわかりませんdictionary
。これらの文字列のいずれかがキーとして含まれているかどうかを知りたい場合は、これでうまくいくと思います。