C #. Șir net

De ce C# .Net permite ca declararea obiectului șir să fie insensibilă la litere mici?

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

Atât cuvântul cu litere mici cât și majusculă S a cuvântului String sunt acceptabile și acest lucru pare să fie singurul obiect care permite acest lucru.

Poate cineva să explice de ce?

0
fr hi bn
Consultați această întrebare pentru mai multe informații .
adăugat autor Lasse Vågsæther Karl, sursa
În primul rând, nu este insensibil. Nu puteți scrie STRING sau strinG sau orice altceva. În al doilea rând, nu este singurul tip care are un alias: object este un alias pentru Object ; bool este un alias pentru Boolean ; double este un alias pentru Double etc. De altfel, void este de asemenea un alias pentru Void Nu vă permiteți să utilizați Void ...
adăugat autor Timwi, sursa

7 răspunsuri

string este un alias pentru System.String. Ele sunt același lucru.

Cu toate acestea, prin convenție, obiectele de tip (System.String) sunt în general menționate ca alias - de ex.

string myString = "Hello";

în timp ce operațiile din clasă utilizează versiunea superioară de exemplu.

String.IsNullOrEmpty(myStringVariable);
0
adăugat
Nu cred că convenția este în special să folosească versiunea superioară pentru operațiuni. Cu siguranță nu am văzut asta scrisă. Lucrul important este să utilizați versiunea BCL pentru nume publice, de ex. ReadSingle în loc de ReadFloat.
adăugat autor Jon Skeet, sursa
spune cine? nu a auzit niciodată de această convenție!
adăugat autor BritishDeveloper, sursa

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

Ambele compilați la exact același lucru, în mod similar:

  • 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

Cred că în majoritatea cazurilor este vorba despre lizibilitatea codului - toate tipurile de valori de sistem de bază au aliasuri, cred că literele string ar putea fi doar pentru consistență.

0
adăugat

Eu folosesc String și nu șir, Int32 în loc de int, astfel încât evidențierea sintaxei mele să preia un șir ca un tip și nu un cuvânt cheie. Vreau ca cuvintele cheie să sară la mine.

0
adăugat

"șir" este un cuvânt cheie C #. este doar un alias pentru "System.String" - una dintre clasele .NET BCL.

0
adăugat

În urma celorlalte răspunsuri, este bine să folosiți cuvinte cheie dacă acestea există.

De exemplu. ar trebui să folosiți șirul în loc de System.String .

0
adăugat

"string" este doar un alias C# pentru clasa "String" din spațiul de nume sistem.

0
adăugat

"String" este numele clasei. "șir" este un cuvânt cheie care hartă această clasă.

este la fel

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

... si asa mai departe...

0
adăugat