2008-10-07 24 views
6

हाल के पोस्ट का जवाब (समय की नकल करने की कोई संभावना() सी # में रूबी विधि?) उपयोग उदाहरणों में => ऑपरेटर का उपयोग करें। यह ऑपरेटर क्या करता है? मैं इसे अपने सी # पुस्तक में नहीं ढूंढ सकता, और इस तरह के प्रतीकों की खोज करना मुश्किल है। (मुझे यह नहीं मिला।)सी # ऑपरेटर => का क्या अर्थ है?

उत्तर

15

यह वास्तव में एक ऑपरेटर नहीं है, यह लैम्ब्डा अभिव्यक्तियों के वाक्यविन्यास का हिस्सा है। विशेष रूप से => वह बिट है जो पैरामीटर को लैम्ब्डा अभिव्यक्ति के शरीर से अलग करता है।

क्या आपकी पुस्तक कवर सी # 3.0 है? यदि नहीं, तो इसमें लैम्ब्डा अभिव्यक्ति शामिल नहीं होगी। अगर ऐसा होता है, तो इसे वास्तव में कवर करना चाहिए! उम्मीद है कि सही शब्दावली के साथ, आप इसे टीओसी या इंडेक्स में ढूंढ पाएंगे।

संपादित करें: थोड़ा और जानकारी: एक लैम्ब्डा अभिव्यक्ति एक प्रतिनिधि या एक अभिव्यक्ति वृक्ष (बाद वाला .NET 3.5 के लिए नया) का उदाहरण बनाने के लिए वाक्य रचनात्मक चीनी का एक टुकड़ा है। लैम्ब्डा अभिव्यक्ति लगभग पूरी तरह अज्ञात विधियों को प्रतिस्थापित करती है (सी # 2.0 से) हालांकि वे गुमनाम विधियों के तरीके में "पैरामीटर की परवाह नहीं करते" की धारणा का समर्थन नहीं करते हैं।

+0

आह, मेरी किताब सी # 3.0 कवर नहीं करता है, तो कोई आश्चर्य नहीं मैं उसका पता नहीं लगा सकता है! –

+0

क्या मैं आपसे पूछ सकता हूं कि अज्ञात विधियों के तरीके में "पैरामीटर की परवाह नहीं है" के साथ आपका क्या मतलब है। धन्यवाद! – xanatos

+1

@xanatos: उदाहरण के लिए, 'EventHandler' बनाने के लिए जो प्रेषक या तर्क का उपयोग नहीं करता है, आप 'प्रतिनिधि {Console.WriteLine (" कॉल किया गया ") का उपयोग कर सकते हैं; } 'पैरामीटर सूची निर्दिष्ट किए बिना। यह किसी भी * प्रतिनिधि प्रकार के लिए परिवर्तनीय प्रकार के शून्य और सभी "इन" पैरामीटर के साथ परिवर्तनीय है। –

1

यह एक लैम्ब्डा अभिव्यक्ति के लिए किया जाएगा:

http://msdn.microsoft.com/en-us/library/bb397687.aspx

एक उदाहरण यहाँ है:

MyControl.OnMouseDown += (sender, e) => 
{ 
    // Do something in the mouse down event 
}; 

यहाँ मैं एक लैम्ब्डा अभिव्यक्ति घटना प्रतिनिधि बनाया है। यह मूल रूप से कक्षा में इसके लिए एक अलग समारोह बनाने से बचाता है।

1

एक लैम्ब्डा अभिव्यक्ति एक अज्ञात फ़ंक्शन है जिसमें अभिव्यक्तियां और कथन शामिल हो सकते हैं, और इसका उपयोग प्रतिनिधि या अभिव्यक्ति वृक्ष प्रकार बनाने के लिए किया जा सकता है।

सभी लैम्ब्डा अभिव्यक्ति लैम्ब्डा ऑपरेटर => का उपयोग करते हैं, जिसे "जाता है" के रूप में पढ़ा जाता है। लैम्ब्डा ऑपरेटर के बाईं ओर इनपुट पैरामीटर निर्दिष्ट करता है (यदि हो तो) और दाईं ओर अभिव्यक्ति या बयान ब्लॉक

http://msdn.microsoft.com/en-us/library/bb397687.aspx

1

=> टोकन लैम्ब्डा ऑपरेटर कहा जाता है रखती है।

इसका प्रयोग लैम्ब्डा अभिव्यक्तियों में बाएं तरफ लैम्बडा बॉडी से बाईं ओर इनपुट चर को अलग करने के लिए किया जाता है।

MSDN

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