syntax - What is the recommended way of writing anonymous functions in C#? -


  var seq = अनग्रामनीय.रेंज (1, 10) .Reverse (); Var sort1 = seq.OrderBy (i = & gt; i); Var sort2 = seq.OrderBy (प्रतिनिधि (int i) {वापसी i;});  

मुझे लगता है कि sort2 अधिक स्पष्ट है, लेकिन सॉर्ट 1 छोटा है। इसके अलावा, मुझे वास्तव में अंतर नहीं पता है यह करने का अनुशंसित तरीका क्या है?

लैम्ब्डा अभिव्यक्ति (आईएमओ) प्रत्येक में गुमनाम तरीके से बेहतर है मामले को छोड़कर जहां आप पैरामीटर के बारे में परवाह नहीं करते हैं, उस स्थिति में एक अच्छा शॉर्टकट है:

  // लैम्ब्डा अभिव्यक्ति में पैरामीटर प्रकार इवेंटहैंडर एक्स = ( प्रेषक, आर्ग्स) = & gt; Console.WriteLine ( "हाय"); // बेनामी विधि उन्हें इवेंटहैंडर एक्स = प्रतिनिधि {कंसोल.प्रकाशलाइन ("हाय") को अनदेखा कर सकता है; };  

लैम्ब्डा अभिव्यक्ति में दो अन्य "समस्याएं" आईएमओ:

  • जाहिर है वे उपलब्ध नहीं हैं यदि आप सी # 3 का उपयोग नहीं कर रहे हैं। (हालांकि आप लक्ष्य VS2008 से .NET 2.0 और अभी भी उनका उपयोग करें।)
  • पैरामीटर रहित लैम्ब्डा एक्सप्रेस के लिए वाक्यविन्यास कुछ हद तक clunky है:

      () = & gt; सामान  

Comments

Popular posts from this blog

c# - PInvoke of NetUserAdd returns 24 -

objective c - Mouse events for an NSSegmentedCell subclass? -