C # .Net-Groß- / Kleinschreibung nicht beachten

7

Warum erlaubt C # .Net die Deklaration des Zeichenfolgenobjekts ohne Berücksichtigung der Groß- und Kleinschreibung?

%Vor%

Sowohl der Klein- als auch der Großbuchstabe S des Wortes String sind akzeptabel und dies scheint das einzige Objekt zu sein, das dies erlaubt.

Kann jemand erklären, warum?

    
GateKiller 13.08.2008, 12:53
quelle

7 Antworten

21

string ist ein Sprachschlüsselwort, während System.String der Typ ist, für den es Aliase ist.

Beide kompilieren zu genau der gleichen Sache, ähnlich:

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

Ich denke, dass es in den meisten Fällen um die Lesbarkeit von Codes geht - alle grundlegenden Systemwerttypen haben Aliase, ich denke, der Kleinbuchstabe string könnte nur für Konsistenz stehen.

    
Keith 13.08.2008, 12:57
quelle
6

Zusätzlich zu den anderen Antworten ist es eine gute Methode, Schlüsselwörter zu verwenden, wenn sie existieren.

z. Sie sollten string anstatt System.String verwenden.

    
Iain Holder 13.08.2008 13:03
quelle
2

"String" ist der Name der Klasse. "string" ist ein Schlüsselwort, das diese Klasse abbildet.

es ist das gleiche wie

  • Int32 = & gt; int
  • Dezimal = & gt; Dezimal
  • Int64 = & gt; lang

... und so weiter ...

    
lubos hasko 13.08.2008 12:55
quelle
1

"Zeichenfolge" ist ein C # -Schlüsselwort. Es ist nur ein Alias ​​für "System.String" - eine der .NET BCL-Klassen.

    
aku 13.08.2008 12:57
quelle
1

"string" ist nur ein C # Alias ​​für die Klasse "String" im System-Namespace.

    
Patrik 13.08.2008 12:58
quelle
0

string ist ein Alias ​​für System.String. Sie sind das Gleiche.

Konventionell werden Objekte des Typs (System.String) jedoch allgemein als Alias ​​bezeichnet - z. B.

%Vor%

während Operationen in der Klasse die Großbuchstabenversion verwenden z.B.

%Vor%     
ZombieSheep 13.08.2008 12:56
quelle
0

Ich benutze String und nicht String, Int32 statt int, so dass meine Syntaxhervorhebung eine Zeichenkette als Typ und nicht als Schlüsselwort aufnimmt. Ich möchte, dass Schlüsselwörter auf mich springen.

    
Brian Leahy 13.08.2008 18:59
quelle

Tags und Links