क्या इसे फॉरएच में लैम्ब्डा अभिव्यक्ति में सशर्त ऑपरेटर रखने की अनुमति नहीं है?एक सामान्य सूची पर ForEach() में लैम्ब्डा अभिव्यक्ति में सशर्त ऑपरेटर का उपयोग करना?
List<string> items = new List<string>{"Item 1", "Item 2", "Item I Care About"};
string whatICareAbout = "";
// doesn't compile :(
items.ForEach(item => item.Contains("I Care About") ?
whatICareAbout += item + "," : whatICareAbout += "");
संकलन त्रुटि ->
एक सामान्य उपयोग करने के लिए करता है, तो या तो काम नहीं करता है की कोशिश कर रहा "केवल काम, फोन, वेतन वृद्धि, घटती है, और नई वस्तु भाव एक बयान के रूप में इस्तेमाल किया जा सकता":
// :(
items.ForEach(item => if (item.Contains("I Care About")) {whatICareAbout += item + ", ";}
बस संभव नहीं है?
शीश मैं जवाबों के साथ असाधारण रूप से प्रभावित हूं, सभी पूछने के कुछ ही मिनटों में :) मुझे लगता है कि @ एसएलक्स मेरे प्रश्न के इरादे का जवाब देता है, लेकिन कुल() मेरे दिमाग को उड़ाता है! :) फिर से सभी को धन्यवाद :) – Jamezor
आपके पास सशर्त अभिव्यक्ति के प्रकार के रूप में एक स्ट्रिंग अभिव्यक्ति थी, और आपको अपने FOREach() विधि के लिए एक कथन की आवश्यकता थी। यही कारण है कि संकलन त्रुटि वहां थी। –
@Roman - मुझे अब मिल गया! मैं एक के बारे में सोचता हूँ? x: y के लिए शॉर्ट-हाथ के रूप में अगर (ए) {x} else {y} लेकिन? एक्स और वाई का मान देता है, जो इस मामले में एक स्ट्रिंग था ... – Jamezor