Beispiel ( den Fall beachten ):
string s = "Hello world!";
String s = "Hello world!";
Wie lauten die Leitlinien für die Verwendung der einzelnen Mittel? Und was sind die Unterschiede?
Beispiel ( den Fall beachten ):
string s = "Hello world!";
String s = "Hello world!";
Wie lauten die Leitlinien für die Verwendung der einzelnen Mittel? Und was sind die Unterschiede?
Ich komme zu spät zur Party: Ich verwende die CLR-Typen 100% der Zeit (nun, außer wenn gezwungen um den C#-Typ zu verwenden, aber ich weiß nicht mehr, wann das das letzte Mal war).
Ursprünglich habe ich damit schon vor Jahren begonnen, wie in den CLR-Büchern von Ritchie beschrieben. Es machte für mich Sinn, dass alle CLR-Sprachen letztendlich in der Lage sein müssen, die CLR-Typen zu unterstützen, so dass die Verwendung der CLR-Typen selbst für klareren und möglicherweise mehr "wiederverwendbaren" Code sorgt.
Jetzt, wo ich es seit Jahren mache, ist es zur Gewohnheit geworden, und ich mag die Färbung, die VS für die CLR-Typen anzeigt.
Der einzige wirkliche Wermutstropfen ist, dass die Autovervollständigung den C#-Typ verwendet, so dass ich am Ende die automatisch generierten Typen neu eingeben muss, um stattdessen den CLR-Typ anzugeben.
Außerdem sieht es jetzt, wenn ich "int" oder "string" sehe, wirklich falsch aus, als ob ich einen C-Code aus den 1970er Jahren vor mir hätte.
Zu diesem Thema gibt es ein Zitat von Daniel Solis' Buch .
Alle vordefinierten Typen werden direkt auf zugrunde liegenden .NET-Typen abgebildet. Die C#-Typnamen (String) sind einfach Aliasnamen für die .NET-Typen (String oder System.String), so dass die Verwendung der .NET-Namen syntaktisch einwandfrei funktioniert, obwohl davon abgeraten wird. Innerhalb eines C#-Programms sollten Sie die C#-Namen verwenden und nicht die .NET-Namen verwenden.
String ist ein Schlüsselwort, und Sie können string nicht als Bezeichner verwenden.
Zeichenfolge ist kein Schlüsselwort und kann als Bezeichner verwendet werden:
Beispiel
string String = "I am a string";
Das Schlüsselwort string
ist ein Alias für System.String
abgesehen von der Frage des Schlüsselworts sind die beiden genau gleichwertig.
typeof(string) == typeof(String) == typeof(System.String)
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.