2015-08-24 9 views
43

सी # में आमतौर पर String का उपयोग करते हैं जब मैं एक विधि का उपयोग कर रहा हूं और एक चर घोषित करते समय string का उपयोग कर रहा हूं। मैंने कहीं और पढ़ा है कि चीजों को साफ रखने के लिए यह पसंदीदा तरीका है और यह मुझे समझ में आया। विजुअल स्टूडियो 2015 में, मुझे एक नया संदेश मिल रहा है जब मैं String: Name can be simplified का उपयोग करता हूं। वीएस सुझाव इसके बजाय string का उपयोग करना है।"स्ट्रिंग" को "स्ट्रिंग" का सरलीकृत संस्करण क्यों माना जाता है?

string अब वीएस2015 में String से अधिक क्यों पसंद किया गया है जबकि यह 2013 में नहीं था ??

this question का डुप्लिकेट नहीं है। वह पूछता है कि अंतर क्या अंतर है, मैं पूछ रहा हूं कि वीएस अब एक दूसरे पर क्यों सुझाव दे रहा है; मुझे नहीं पता कि कोई तकनीकी अंतर बदल गया है या उस प्रभाव से कुछ है या नहीं।

+0

एकरूपता को बदलने के लिए भी एक महत्वपूर्ण पहलू है। –

+0

एक राय को बंद करने के लिए वोटिंग क्योंकि एक दूसरे के ऊपर एक का उपयोग करने के लिए कोई तकनीकी कारण नहीं है। –

+2

@DStanley: यह मेरे प्रश्न का मुद्दा है। यदि यह राय आधारित है तो वह मेरे प्रश्न का उत्तर देगा। मैंने पूछा क्योंकि वीएस इसका सुझाव दे रहा है, जबकि यह अतीत में नहीं है, जिसने मुझे विश्वास दिलाया कि इसके लिए तकनीकी कारण है। – vaindil

उत्तर

33

क्योंकि आप सही का निशान नहीं था "आंतरिक पूर्वनिर्धारित प्रकार कीवर्ड पसंद करते हैं जब स्थानीय लोगों, मानकों और सदस्यों की घोषणा" उपकरण के नीचे पाया> विकल्प> पाठ संपादक> सी #> संहिता शैली

+4

यह सी # अनुभाग में कोड स्टाइल के तहत है, उन्नत नहीं। लेकिन फिर भी, मुझे नहीं लगता कि यह काफी सही है - आपके द्वारा प्रस्तावित विकल्प में परिवर्तन _variable declarations_ (उदाहरण के लिए, 'int' से 'Int32' तक)। दूसरा समान विकल्प, 'सदस्य पहुंच अभिव्यक्तियों में आंतरिक पूर्वनिर्धारित प्रकार कीवर्ड को प्राथमिकता दें', एक समान परिवर्तन ('int.MaxValue' को' Int32.MaxValue') बनाता है। वीएस2013 में मैंने ओपी में वर्णित 'स्ट्रिंग'/'स्ट्रिंग' का उपयोग किया, इन विकल्पों को कभी छुआ नहीं, वीएस से कोई संदेश नहीं। अब यह इस संदेश को फेंक रहा है और मुझे नहीं पता क्यों। (वैसे, वीएस2013 में यह विकल्प भी नहीं है।) – vaindil

+1

@ वाइनडिल: हाँ; यह पूरी सुविधा रोज़लिन के लिए नई है। – SLaks

+0

क्या यह नई विधि Roslyn के लिए पसंदीदा है? मुझे लगता है कि अगर वीएस इसके बारे में चेतावनी फेंकता है, तो बस जांचना चाहते हैं। – vaindil

4

स्ट्रिंग में एक उपनाम है System.String के लिए सी #। तो तकनीकी रूप से, कोई फर्क नहीं पड़ता। यह int बनाम System.Int32 की तरह है।

जहां तक ​​आपको 'करना चाहिए', स्ट्रिंग्स वरीयताओं के लिए पसंदीदा वस्तु है और कक्षाओं के लिए स्ट्रिंग का अभ्यास पसंद है।

आम तौर पर इस

string example = "hello world"; 

string example = String.Format("Hello World {0}!", example); 
6

उपकरण की तरह देखा> विकल्प> पाठ संपादक> सी #> संहिता शैली अचिह्नित "आंतरिक पूर्वनिर्धारित प्रकार कीवर्ड सदस्य पहुँच भाव में पसंद करते हैं"

उदाहरण में दिए गए इस विकल्प के लिए वीएस2015

var local = int.MaxValue (टिकटेड)

को

var local = Int32.MaxValue (unticked)

और आप शायद/अक्षम भी अपने ReSharper पर निरीक्षण गंभीरता कॉन्फ़िगर करने के लिए चाहता हूँ कि उसके बाद जो है "बदलें में निर्मित एक CLR प्रकार के साथ प्रकार संदर्भ नाम या एक शब्द "नियम।

अब कुछ नहीं मुझे पर संकेत के उपयोग में String.Format()string.Format() को

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