सी # नेट केस-असंवेदनशील स्ट्रिंग

सी # .NET स्ट्रिंग ऑब्जेक्ट की घोषणा केस-असंवेदनशील होने की अनुमति क्यों देता है?

String sHello = "Hello";
string sHello = "Hello";

स्ट्रिंग शब्द के निचले मामले और ऊपरी-मामले एस दोनों ही स्वीकार्य हैं और यह एकमात्र ऐसा प्रतीत होता है जो इसे अनुमति देता है।

क्या कोई समझा सकता है क्यों?

0
ro fr bn
अधिक जानकारी के लिए यह प्रश्न देखें ।
जोड़ा लेखक Lasse Vågsæther Karl, स्रोत
सबसे पहले, यह मामला असंवेदनशील नहीं है। आप STRING या strinG या कुछ भी नहीं लिख सकते हैं। दूसरा, यह एकमात्र प्रकार नहीं है जिसमें उपनाम है: object ऑब्जेक्ट के लिए उपनाम है; bool बूलियन के लिए उपनाम है; डबल डबल , आदि के लिए उपनाम है। संयोग से, शून्य शून्य के लिए भी उपनाम है, लेकिन सी # नहीं करता है आपको शून्य का उपयोग करने दें ...
जोड़ा लेखक Timwi, स्रोत

7 उत्तर

स्ट्रिंग सिस्टम के लिए एक उपनाम है। स्ट्रिंग। वे एक जैसी ही चीज हैं।

सम्मेलन द्वारा, हालांकि, प्रकार की वस्तुओं (System.String) को आम तौर पर उपनाम के रूप में प्रस्तुत किया जाता है - उदा।

string myString = "Hello";

जबकि कक्षा पर संचालन अपरकेस संस्करण का उपयोग करते हैं जैसे

String.IsNullOrEmpty(myStringVariable);
0
जोड़ा
मुझे नहीं लगता कि सम्मेलन विशेष रूप से संचालन के लिए ऊपरी केस संस्करण का उपयोग करना है। मैंने निश्चित रूप से लिखा नहीं है। सार्वजनिक बातों के लिए बीसीएल संस्करण का उपयोग करना महत्वपूर्ण बात है, उदा। ReadFloat के बजाय ReadSingle।
जोड़ा लेखक Jon Skeet, स्रोत
कौन कहता है? इस सम्मेलन के बारे में कभी नहीं सुना!
जोड़ा लेखक BritishDeveloper, स्रोत

string is a language keyword while System.String is the type it aliases.

दोनों एक ही चीज़ को संकलित करते हैं, इसी तरह:

  • int is System.Int32
  • long is System.Int64
  • float is System.Single
  • double is System.Double
  • char is System.Char
  • byte is System.Byte
  • short is System.Int16
  • ushort is System.UInt16
  • uint is System.UInt32
  • ulong is System.UInt64

मुझे लगता है कि ज्यादातर मामलों में यह कोड की योग्यता के बारे में है - सभी मूलभूत सिस्टम मान प्रकारों में उपनाम होते हैं, मुझे लगता है कि निचला मामला string स्थिरता के लिए हो सकता है।

0
जोड़ा

मैं स्ट्रिंग का उपयोग करता हूं और स्ट्रिंग नहीं करता, Int के बजाय Int32, ताकि मेरा वाक्यविन्यास हाइलाइटिंग स्ट्रिंग पर एक प्रकार के रूप में उठाए और एक कीवर्ड न हो। मैं चाहता हूं कि कीवर्ड मुझ पर कूद जाएं।

0
जोड़ा

"स्ट्रिंग" एक सी # कीवर्ड है। यह "System.String" के लिए सिर्फ एक उपनाम है - .NET BCL कक्षाओं में से एक।

0
जोड़ा

अन्य उत्तरों के आगे, यदि वे मौजूद हैं तो कीवर्ड का उपयोग करना अच्छा अभ्यास है।

जैसे आपको system.String की बजाय string का उपयोग करना चाहिए।

0
जोड़ा

"स्ट्रिंग" सिस्टम-नेमस्पेस में "स्ट्रिंग" श्रेणी के लिए केवल एक सी # उपनाम है।

0
जोड़ा

"स्ट्रिंग" कक्षा का नाम है। "स्ट्रिंग" वह कीवर्ड है जो इस कक्षा को मानचित्र करता है।

यह वही है

  • Int32 => int
  • Decimal => decimal
  • Int64 => long

... और इसी तरह...

0
जोड़ा