2009-07-30 21 views
10

संभावित डुप्लिकेट:
What to use: var or object name type?
Use of var keyword in C#
What’s the point of the var keyword?
Should I always favour implictly typed local variables in C# 3.0?सी # वर कीवर्ड प्रयोग

मैं सिर्फ ReSharper का परीक्षण संस्करण स्थापित किया है मेरी कंपनी के लिए यह मूल्यांकन करने के लिए।

string s = ""; 

को
var s = ""; 

यह सबसे अच्छा अभ्यास के बजाय वस्तु का उपयोग कर वर कीवर्ड का उपयोग करने के है: एक बात यह है कि मैंने देखा है यह सुझाव है कि मैं निम्नलिखित (उदाहरण बना हुआ) बदल रहा है चर घोषित करते समय टाइप करें? यह क्या फायदे देता है। संदर्भ के लिए मैं एक पूर्व जावा डेवलपर हूं जो अभी .NET कार्यों में परिवर्तित हो गया है।

+1

मैं इस अपने सवाल का जवाब लगता है:

var thing = new Dictionary<int, KeyValuePair<string, int>>(); 

हालांकि इस var के किसी गलत उपयोग होगा:

उदाहरण के लिए, इस var (काल्पनिक उदाहरण) का अच्छा उपयोग होगा: http://stackoverflow.com/questions/17032/should-i-always-favour-implictly-typed-local-variables-in-c-3-0 –

+2

डुप्लिकेट: http://stackoverflow.com/questions/209199/ what-the-point-of-the-var-keyword और http: // stackoverflow।कॉम/प्रश्न/236878/क्या-से-उपयोग-var-or-object-name-type – Noldorin

+0

http://stackoverflow.com/questions/41479/use-of-var-keyword-in-c –

उत्तर

28

मुझे लगता है कि var का उपयोग करना ठीक है, जहां यह कोड को पढ़ने में आसान बनाता है, जिसके लिए मेरा मतलब यह होगा कि var का प्रकार बदलना पूरी तरह से स्पष्ट होना चाहिए।

var thing = GetThingFromDatabase(); 
12

मैं, यह कुछ मामलों में जहां प्रकार घोषणा बहुत लंबा है में सहायक प्रतीत उदाहरण के लिए:

Dictionary<int, string> item = new Dictionary<int, string>(); 

हो जाता है

var item = new Dictionary<int, string>(); 
8

यह एक ही बात के बराबर है क्योंकि वर कीवर्ड का उपयोग, परिवर्तनीय टाइप किया गया है और संकलक बिल्ड समय पर प्रकार का अनुमान लगाता है। मैं ज्यादातर मामलों में var का उपयोग करने के बजाय प्रकार निर्दिष्ट करना पसंद करता हूं, इसलिए मैं अपनी रिशेर्पर सेटिंग्स बदलता हूं।

+1

-1: प्रश्नकर्ता कैसे और कैसे आधार जानना चाहता है जिस पर निर्णय लेने के बारे में फैसला किया जाएगा। –

+0

मुझे नहीं लगता कि मेरा जवाब बेकार है और – Charlie

+0

ठीक है, डाउनवोट पूर्ववत है - ऐसा लगता है कि अन्य समान दिखने वाले हैं (या वे मेरी 'नास्टनेस' का मुकाबला करने की कोशिश कर रहे हैं? मैंने इसे एकल का सामना करने के लिए -1 दिया उस समय +1 - मुझे विश्वास है कि जब तक वे शून्य पर नहीं रहते हैं तब तक दुनिया के अंत में बहुत कुछ नहीं होता है और संभावित रूप से ऐसा उत्तर देने में अधिक समय लगता है जो वास्तव में कहने के लिए कुछ अंतर्दृष्टिपूर्ण है। IOW कारण http://stackoverflow.com/questions/1205329/c-var-keyword-usage/1205396#1205396 में मेरा +1 और अन्य भी है। –

1

जैसा कि मुझे याद है कि Resharper बस कहता है कि इसे इस तरह लिखा जा सकता है। यह नहीं कहता कि आपको चाहिए।

सुझावों में से बहुत सारे सुझाव केवल सुझाव हैं जिन्हें मैंने पहली बार देखा था .. यह उनमें से एक है।

एक और यह था कि यह कहा गया था कि यह "this.someProperty" लिखने के लिए अनावश्यक है, जबकि मुझे लगता है कि ऐसा करने से कोड पढ़ने में आसान हो जाता है।

0

रिशेर्पर के पास भी सही कथन को सही या सही करने के लिए सुझाव देने का सुझाव है। लगभग एक ही बात है, लेकिन यह कोडिंग की आपकी शैली पर निर्भर करता है। तो, जब आप var अधिक आरामदायक उपयोग करते हैं - इस सुझाव का उपयोग करें।

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