मौजूद है मैं शब्दकोश जो अपनी पुस्तकों में रखती है।जांच करता है, तो मूल्य पहले से ही
मैं कैसे जांच सकता हूं कि शब्दकोश में कोई पुस्तक है जो उपयोगकर्ता द्वारा प्रदान किए गए शीर्षक से मेल खाती है?
मौजूद है मैं शब्दकोश जो अपनी पुस्तकों में रखती है।जांच करता है, तो मूल्य पहले से ही
मैं कैसे जांच सकता हूं कि शब्दकोश में कोई पुस्तक है जो उपयोगकर्ता द्वारा प्रदान किए गए शीर्षक से मेल खाती है?
यदि आप पुस्तक शीर्षक का उपयोग कुंजी के रूप में नहीं कर रहे हैं, तो आपको मूल्यों पर गणना करना होगा और देखें कि किसी पुस्तक में वह शीर्षक है या नहीं।
foreach(KeyValuePair<string, book> b in books) // or foreach(book b in books.Values)
{
if(b.Value.title.Equals("some title", StringComparison.CurrentCultureIgnoreCase))
return true
}
या आप उपयोग कर सकते हैं LINQ:
books.Any(tr => tr.Value.title.Equals("some title", StringComparison.CurrentCultureIgnoreCase))
दूसरे हाथ पर, आप, कुंजी के रूप में किताबें शीर्षक का उपयोग कर रहे हैं, तो आप बस कर सकते हैं:
books.ContainsKey("some title");
धन्यवाद, आपका पहला कोड मदद करता है, जो LINQ पर आता है, मैंने कभी भी – Bublik
@ user1224225 से पहले इसे आजमाया नहीं है यह स्वीकार्य उत्तर – Antonio
होना चाहिए वर्तमान में .NET फ्रेमवर्क के नए संस्करण में ValueValue। @ Https://msdn.microsoft.com/en-us/library/a63811ah(v=vs.110).aspx देखें – Nikola
आपके शब्दकोश में, कुंजी शीर्षक शीर्षक रखती है? यदि हां, तो अन्य उत्तरों के रूप में ContainsKey
का उपयोग करें। कुंजी कुछ और पूरी तरह है, और आप मूल्य के (पुस्तक वस्तु की) title
विशेषता जाँच करना चाहते हैं, तो आप इस तरह मैन्युअल रूप से यह करना होगा:
foreach(KeyValuePair<string,book> kvp in books) {
if (kvp.Value.title == "some title")
return kvp.Key;
}
return String.Empty; //not found
आप LINQ उपयोग करने के लिए अनुमति दी जाती है, का उपयोग करके देखें नीचे कोड:
bool exists = books.Any(b => (b.Value != null && b.Value.title == "current title"));
'' के 'स्ट्रिंग' भाग के लिए आप क्या मूल्य प्रदान कर रहे हैं? –
zimdanen