इस प्रश्न के उत्तर की खोज करते हुए, मैं LINQ का उपयोग करने वाले समान लोगों में चला गया हूं, लेकिन मैं उन्हें पूरी तरह से समझने में सक्षम नहीं हूं (और इस प्रकार, उन्हें लागू करता हूं), क्योंकि मैं इससे परिचित नहीं हूं। मूल रूप से, मैं यह करना चाहूंगा:
- जांचें कि किसी सूची के किसी तत्व में कोई विशिष्ट स्ट्रिंग है या नहीं।
- यदि ऐसा होता है, तो उस तत्व को प्राप्त करें।
मैं ईमानदारी से नहीं जानता कि मैं ऐसा कैसे करूंगा। मैं इसके साथ आ सकता हूं (काम नहीं कर रहा है, निश्चित रूप से):
if (myList.Contains(myString))
string element = myList.ElementAt(myList.IndexOf(myString));
मुझे पता है कि यह क्यों काम नहीं करता है:
myList.Contains()
वापस नहीं आता हैtrue
, क्योंकि यह जाँच करेगा कि सूची का एक पूरा तत्व मेरे द्वारा निर्दिष्ट स्ट्रिंग से मेल खाता है या नहीं।myList.IndexOf()
एक घटना नहीं मिलेगी, चूंकि यह मामला फिर से है, यह स्ट्रिंग से मेल खाने वाले तत्व की जांच करेगा।
फिर भी, मेरे पास इस समस्या को हल करने के लिए कोई सुराग नहीं है, लेकिन मुझे लगता है कि मुझे मेरे जैसे ही प्रश्नों में सुझाए गए LINQ का उपयोग करना होगा। कहा जा रहा है, अगर ऐसा है तो यहाँ, मैं उत्तर देने वाले के लिए चाहूँगा कि मैं उनके उदाहरण में LINQ के उपयोग की व्याख्या करूँ (जैसा कि मैंने कहा, मैंने अपने समय में C # के साथ इसे परेशान नहीं किया है)। अग्रिम लोगों (और लड़कियों?) में धन्यवाद।
संपादित करें: मैं एक समाधान के साथ आया हूं; सूची के माध्यम से बस लूप करें, जांचें कि क्या वर्तमान तत्व में स्ट्रिंग है और फिर वर्तमान तत्व के बराबर स्ट्रिंग सेट करें। मैं सोच रहा हूं, हालांकि, क्या इससे अधिक कुशल तरीका है?
string myString = "bla";
string element = "";
for (int i = 0; i < myList.Count; i++)
{
if (myList[i].Contains(myString))
element = myList[i];
}
myString
, जिसमें आपका तार , आपके वर्तमान लूप में, आपको अंतिम तत्व मिलेगा। यह आप पर निर्भर करता है कि क्या आप पहले या आखिरी को ढूंढना चाहते हैं, अगर आप सिर्फ पहला खोजना चाहते हैं, तो आइटम खोजने के बाद लूप को तोड़ दें।