मैं कैसे इन की तरह दो लैम्ब्डा भाव शामिल होने के बारे जाना होगा: इस तरहमें शामिल होने से लैम्ब्डा भाव
Expression<Func<string, bool>> expr1 = a => a.Length > 100;
Expression<Func<string, bool>> expr2 = b => b.Length < 200;
... एक अभिव्यक्ति में:
Expression<Func<string, bool>> expr3 = s => s.Length < 100 && s.Length < 200;
यही है, उन्हें एक andalso ऑपरेटर के साथ शामिल होने के । (या उस मामले के लिए कोई अन्य ऑपरेटर ...)
मैं वास्तव में लैम्ब्डा पैरामीटर के कुछ बुरा रिकर्सिव प्रतिस्थापन के साथ सफल हुआ और फिर अभिव्यक्ति के साथ जुड़ रहा था। और भी विधि। लेकिन मैं कुछ और आसान खोज रहा हूँ।
कुछ की तरहउदाहरण के लिए: (। कौन सा स्पष्ट रूप से काम नहीं करता है)
Expression<Func<string, bool>> expr3 = c => expr1(a) && expr2(b);
बस, सोच क्यों नहीं आप उपयोग कर सकते हैं अभिव्यक्ति> expr3 = s => s.Length <100 && s.Length <200 ;? –
ऐसा इसलिए है क्योंकि अभिव्यक्ति सिस्टम में सेटिंग्स के आधार पर उत्पन्न होती है। मुझे वास्तव में अभिव्यक्तियों की एक सूची में एक अंतिम अभिव्यक्ति में शामिल होने की आवश्यकता है। – LaZe