2009-03-10 22 views
15

समग्र अनुप्रयोग दिशानिर्देशों में निम्न पंक्ति में आया था।"() =>" सी # में क्या मतलब है?

मैं जानता हूँ कि => एक लैम्ब्डा है लेकिन क्या () क्या मतलब है?

इसके कुछ अन्य उदाहरण क्या हैं?

इसे क्या कहा जाता है ताकि मैं इसकी खोज कर सकूं?

this.regionViewRegistry.RegisterViewWithRegion(RegionNames.SelectionRegion 
     ,() => this.container.Resolve<EmployeesListPresenter>().View); 
+6

तो यह सच है। सी # पर्ल में बदल रहा है! – rjh

उत्तर

9

यह एक खाली तर्क सूची है, जिसका अर्थ है लैम्ब्डा अभिव्यक्ति कोई तर्क नहीं लेती है।

16

आप x => x + 1

को देखें, तो यह एक पैरामीटर एक्स लेता है और रिटर्न x एक से वृद्धि लेता है। कंपाइलर का आकलन करने के लिए टाइप अनुमान का उपयोग किया जाएगा कि x संभवत: टाइप int का है और एक और int वापस कर देगा ताकि आपके पास एक लैम्ब्डा हो जो टाइप int के पैरामीटर x लेता है और एक पूर्णांक देता है।

() => 3; 

वही है लेकिन पैरामीटर नहीं लेता है, यह एक पूर्णांक लौटाएगा।

() => Console.WriteLine("hello"); 

परिणामस्वरूप कोई पैरामीटर नहीं है।

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