2013-07-04 6 views
19

क्या if-LINQ ForEach कॉल के अंदर सेट करना संभव है?क्या LINQ के लिए प्रत्येक कथन है?

sequence.Where(x => x.Name.ToString().Equals("Apple")) 
     .ToList() 
     .ForEach(/* If statement here */); 
+1

प्रश्न स्पष्ट नहीं है – zerkms

+8

कोई LINQ 'ForEach' विधि नहीं है। यह 'सूची' का एक तरीका है। –

+0

आप 'if' में क्या रखना चाहते हैं जिसका उपयोग' कहां 'में भविष्यवाणी के रूप में नहीं किया जा सकता है? –

उत्तर

3

हाँ, यह एक लैम्ब्डा भाव लगता है, इसलिए वहाँ में कोई मान्य सी # अभिव्यक्ति डाल सकते हैं

+0

मैं नहीं कहूंगा _any _... कुछ संरचनाएं हैं कि अभिव्यक्ति API का प्रतिनिधित्व नहीं कर सकता है। –

+2

ओह क्षमा करें, मेरी टिप्पणी यहां लागू नहीं होती है। हम यहां एक प्रतिनिधि बना रहे हैं, अभिव्यक्ति नहीं। आईआईआरसी, वही प्रतिबंध प्रतिनिधियों को प्रभावित नहीं करता है, किसी भी निर्माण का उपयोग किया जा सकता है। –

33

आप निम्न कर सकते ...

List.Where(x => x.Name.ToString().Equals("Apple").ToList() 
    .ForEach(x => { if(x.Name == ""){}}); 
22

हाँ, अगर बयान है आमतौर पर नीचे दिए गए फॉरएच के अंदर उपयोग किया जाता है:

sequence.Where(x => x.Name.ToString().Equals("Apple")) 
    .ToList() 
    .ForEach(x => 
    { 
     if(someCondition) 
     { 
     // Do some stuff here. 
     } 
    }); 
संबंधित मुद्दे