Beispiel (Anmerkung des Falls):
string s = "Hello world!";
String s = "Hello world!";
Was sind die Richtlinien für die Verwendung der einzelnen Begriffe? Und was sind die Unterschiede?
String
ist ein Alias in C# für System.String
.
Technisch gesehen gibt es also keinen Unterschied. Es ist wie int
vs. System.Int32
.
Was die Richtlinien anbelangt, so wird im Allgemeinen empfohlen, jedes Mal, wenn Sie sich auf ein Objekt beziehen, "String" zu verwenden.
z.B..
string place = "world";
Ebenso denke ich, dass es allgemein empfohlen wird, String
zu verwenden, wenn man sich speziell auf die Klasse beziehen muss.
z.B..
string greet = String.Format("Hello {0}!", place);
Es scheint, dass sich die Richtlinien in diesem Bereich geändert haben, da StyleCop nun die Verwendung der C#-spezifischen Aliase vorschreibt.
System.String" ist die .NET-String-Klasse - in C# ist "String" ein Alias für "System.String" - in der Verwendung sind sie also identisch.
Was die Richtlinien angeht, würde ich mich nicht zu sehr verzetteln und einfach das verwenden, worauf man Lust hat - es gibt wichtigere Dinge im Leben und der Code wird sowieso der gleiche sein.
Wenn Du Systeme baust, bei denen es notwendig ist, die Größe der verwendeten Integer zu spezifizieren und Du daher dazu neigst, Int16
, Int32
, UInt16
, UInt32
usw. zu verwenden, dann könnte es natürlicher aussehen, String
zu verwenden - und wenn Du Dich zwischen verschiedenen .net-Sprachen bewegst, könnte es die Dinge verständlicher machen - ansonsten würde ich string und int verwenden.
Kleinbuchstaben String
ist ein Alias für System.String
.
Sie sind in "C#" identisch.
Es gibt eine Debatte darüber, ob man die Systemtypen (System.Int32
, System.String
, etc.) oder die C#-Aliase
(int
, string
, etc.) verwenden sollte. Ich persönlich bin der Meinung, dass man die C#-Aliase
verwenden sollte, aber das ist nur meine persönliche Vorliebe.