2012-12-26 50 views
15

संभव डुप्लिकेट:
How to check if two Expression<Func<T, bool>> are the sameमैं दो लैम्ब्डा अभिव्यक्तियों की तुलना कैसे करूं?

मैं समानता की जाँच करने के दो लैम्ब्डा भाव की तुलना करने के जरूरत है। मूल रूप से, दो लैम्ब्डा निम्नलिखित समान हैं:

Expression<Func<int, bool>> exp1 = (Foo f) => f.Bar().StartsWith("F"); 
Expression<Func<int, bool>> exp2 = (Foo b) => b.Bar().StartsWith("F"); 

मैं कैसे जांच कर सकते हैं exp1 एक ही बात है कि exp2 करता है?

+3

उपयोग करने के लिए आवश्यकता हो सकती है समानता शब्दार्थ एक ही मतलब है, या कि वे दोनों एक ही परिणाम उपज करता है? संदर्भ के लिए –

+0

, एक समाधान है [लिंक] (http://stackoverflow.com/a/24528357/2528649), मैंने इसे इस कोड से चेक किया है, अच्छी तरह से काम करता है। – neleus

उत्तर

संबंधित मुद्दे