मैं निर्धारित करने के लिए अगर एक 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
निहित चाहता था इस काम हो सकता है कुंजी के रूप में उन तारों में से कोई भी।
धन्यवाद! 'Keys.Any()' के अतिरिक्त मेरे लिए एक अच्छा विचार है। –
उन लोगों के लिए जो संक्षिप्त संस्करण पसंद करते हैं: 'वापसी कुंजी। कोई() && keys.All (dictionary.ContainsKey);' –