c# - Is there anything wrong with using var to declare collections in LINQ queries? -


इस तरह LINQ का उपयोग करते समय:

  संग्रह। चयन (...);  

क्या यह कहना बेहतर है:

  var परिणाम = ...  

या:

  IEnumerable & LT; Point3 & gt; परिणाम = ...  

मैं इसे पूछ रहा हूँ क्योंकि यह हमेशा IEnumerable है, है ना? क्या इस मामले में अधिक स्पष्ट होना बेहतर है?

यह वास्तव में विशेष पर निर्भर करता है। यदि आपके बाकी कोड से यह स्पष्ट है कि किस प्रकार के चर, या अधिक महत्वपूर्ण है, अगर यह बिल्कुल पता होना जरूरी नहीं है कि यह किस प्रकार है, तो var उपयोगी है हालांकि, अगर एक प्रकार की घोषणा यह सुनिश्चित करेगी कि आपका कोड अधिक उपयोग करने योग्य और पढ़ने में आसान है, तो अधिक विशिष्ट रहें और प्रकार प्रदान करें। उदाहरण के लिए, यदि आपकी क्वेरी तुरंत परिणामस्वरूप एक पाश और यह लूप स्पष्ट रूप से टाइप किया गया है, var एक उचित विकल्प है क्योंकि यह समय टाइप करने से बचाता है और उस कोड को अस्पष्ट नहीं करता है जहां रखरखाव बहुत कठिन है, जैसे:

< पूर्व> // IEnumerable & lt; आकार & gt; के बजाय var का उपयोग करता है Var आइटम = आइटम में से मेरी आइटम चुनें आइटम। आकार; विदेशी वस्तुएं (आइटमों में आकार का आकार) {पुन: गणना करें (आकार); }

वास्तव में, सिर्फ उदाहरण में, यहां तक ​​कि आकार को var से बदल दिया जा सकता है और यह कोड अभी भी उचित होगा क्योंकि विधि कॉल की टाइपिंग पर्याप्त होगी।

हालांकि, अगर क्वेरी को एक मान वापस करने की उम्मीद है और फिर अंकगणितीय कार्रवाइयों में उपयोग किया जाता है, तो आपको शायद स्पष्ट रूप से टाइप किए गए परिणामों का उपयोग करना चाहिए, जैसा कि:

  // यहां var का मतलब है कि आप ठीक से व्याख्या नहीं कर सकते हैं // निम्नलिखित पंक्ति के इरादे या जहां एक त्रुटि / झूठ अगर कुछ कहने में बदल जाता है, तो int के बजाय डबल का उपयोग करें Int ऑफसेट = myItems.First ()। ऑफसेट; MyConvertedValue = मूल मूल्य + ऑफसेट;  

Comments

Popular posts from this blog

c# - PInvoke of NetUserAdd returns 24 -

c# - XMLDocument.Validate Error: System.InvalidOperationException : The XmlSchemaSet on the document is either null or has no schemas in it -