कई मायनों में, रिशेर्पर ऐसा करने में गलत है। where
प्रासंगिक कीवर्ड है, जिसका अर्थ है: यह केवल कुछ विशिष्ट परिदृश्यों (यानी LINQ) में एक कीवर्ड के रूप में कार्य करता है। संकेत दिया गया स्थिति में, यह वास्तव में कुछ भी नहीं करता है। इसे वहां एक कीवर्ड के रूप में भ्रमित नहीं किया जाएगा, जैसे कि सी # भाषा डिजाइनर सी # में कीवर्ड जोड़ते हैं, उन्हें यह सुनिश्चित करने की आवश्यकता होती है कि पूर्व-मौजूदा कोड संकलित (जहां तक संभव हो) जारी रहेगा, और यह पहले सी # में कानूनी होगा।
@
के उपयोग भी confuses/कुछ उपकरण (उस्तरा, विशेष रूप से पेचीदा के बाद से उस्तरा पहले से ही @
का उपयोग करता है कोड के शुरू होने से संकेत मिलता है - जिसका अर्थ है कि एक चर का उपयोग कर @
(यानी @string
) कभी कभी तुम @
की जरूरत है और आप कभी कभी के लिए @@
की आवश्यकता है - और मुझे कम से कम एक झूठी पॉजिटिव आईडीई चेतावनी का कारण हो सकता है)।
हालांकि! यदि पैरामीटर if
या class
आदि था, तो @if
/@class
आपको C# कीवर्ड के रूप में भ्रमित होने के बजाय इसे एक चर नाम के रूप में उपयोग करने की अनुमति देता है। भी एक अच्छा विचार नहीं है, नोट। लेकिन एक ही टोकन से, हम पर सभी हमारे कोड (string @name = ...
आदि) को ऐसा करना शुरू नहीं करेंगे - तो यह यहां क्यों है? इसकी आवश्यकता नहीं है, और जैसा कि इस प्रश्न द्वारा प्रदर्शित किया गया है, इसमें भ्रम जोड़ा गया है।
व्यक्तिगत रूप से, हालांकि, मुझे एक पैरामीटर नाम मिलेगा जो कोई कीवर्ड या प्रासंगिक-कीवर्ड नहीं है।
स्रोत
2011-11-08 14:04:21
इस पोस्टिंग को '@' verbatim ऑपरेटर के बारे में देखें http://sanity-free.org/112/all_about_the_sign_csharp_verbatim_identifier.html – ja72