यह एक iterator ब्लॉक के बाहर yield
उपयोग करने के लिए ठीक है - यह सिर्फ यह एक प्रासंगिक कीवर्ड के रूप में इस्तेमाल नहीं किया जा रहा है इसका मतलब है।
उदाहरण के लिए:
// No idea whether this is financially correct, but imagine it is :)
decimal yield = amountReturned/amountInvested;
उस बिंदु यह नहीं एक प्रासंगिक कीवर्ड है, यह सिर्फ एक पहचानकर्ता है (यह कभी नहीं एक "पूर्ण" कीवर्ड है)। जब तक यह स्पष्ट रूप से सामान्य स्पष्टता के मामले में सबसे अच्छा विकल्प है, तो मैं इसे किसी भी तरह से उपयोग करने से बचने की कोशिश करता हूं, लेकिन कभी-कभी यह हो सकता है।
आप इसे केवल yield return
और yield break
के लिए प्रासंगिक कीवर्ड के रूप में उपयोग कर सकते हैं, जो केवल एक इटरेटर ब्लॉक में मान्य है। (वे को में एक इटरेटर में बदलते हैं।)
संपादित करें: अपने "इसे अनुमति दी जानी चाहिए" प्रश्न का उत्तर देने के लिए ... हाँ, यह चाहिए। अन्यथा सी # 2 जारी होने पर सभी मौजूदा सी # 1 कोड जो yield
पहचानकर्ता के रूप में उपयोग किए गए थे, अमान्य हो गए होंगे। इसे का उपयोग के साथ किया जाना चाहिए, और सी # टीम ने यह सुनिश्चित किया है कि यह वास्तव में अस्पष्ट नहीं है, लेकिन यह वैध होने के लिए समझ में आता है।
वही कई अन्य प्रासंगिक खोजशब्दों के लिए जाता है - "से", "चयन करें", "कहां" आदि। क्या आप उनको पहचानने वाले लोगों से रोकना चाहते हैं?
स्रोत
2011-11-25 20:22:23
** हाँ **, यह बहुत उपयोगी है। – dlev
जो कोई भी "वापसी उपज" के साथ आया था महाकाव्य अनुपात का एक बुरा प्रतिभा है। –
हमारे पास कुछ बहुत अच्छा कोड बेस मैन है! मैंने इस सवाल से पूछा कि मैं इस तरह के कोडिंग के खिलाफ बहस कर रहा था ... मैं यह जानना चाहता था कि समुदाय इसके बारे में क्या सोचता है – GETah