मैं टिम का जवाब और इस शो पर एक छोटे से विस्तार करने के लिए जा रहा हूँ आपके LINQ प्रश्नों के भीतर कुछ अतिरिक्त चीजें करने का एक तरीका।
आप कुछ अतिरिक्त प्रक्रियाओं को करने के लिए Where
खंड के भीतर तर्क का विस्तार कर सकते हैं, जो आपके कोड को थोड़ा अधिक पठनीय बना सकता है। यह कुछ छोटे के लिए अच्छा होगा:
var novas = linhas.Where(l =>
{
var parts = l.Split(':');
return parts.Length > 1 ? parts[1] == "def" : false;
});
आप एक से अधिक बयान की जरूरत है, तो आप घुंघराले ब्रेसिज़ के भीतर अपने खंड के शरीर में लपेट कर सकते हैं, लेकिन फिर आप return
कीवर्ड की जरूरत है।
वैकल्पिक रूप से, यदि आपके पास बहुत सारी जानकारी है जो उस अपठनीय की तरह कुछ इनलाइन बनाती है, तो आप अपनी क्वेरी के भीतर एक अलग विधि का भी उपयोग कर सकते हैं।
public void FindTheStringImLookingFor()
{
var linhas = new List<string>();
linhas.Add("123;abc");
linhas.Add("456;def");
linhas.Add("789;ghi");
linhas.Add("chocolate");
var words = linhas.Where(GetTheStringIWant);
}
private bool GetTheStringIWant(string s)
{
var parts = s.Split(':');
// Do a lot of other operations that take a few lines.
return parts.Length > 1 ? parts[1] == "def" : false;
}
नोट करें कि आपको वहां 'ToString' की आवश्यकता नहीं है। – juharr
आपको सूची में अंतिम itme की वजह से अपवाद मिलता है जिसमें ';' ('linhas.Add (" चॉकलेट ") नहीं है;') – Rahul
इस प्रश्न का LINQ से कोई लेना देना नहीं है। इस मुद्दे की जांच करने के लिए आपने पहले से क्या किया? शुरू करने के लिए: 'चॉकलेट "निष्पादित करें। स्प्लिट ('; ') [1]'। – usr