In C# String ist einfach ein Alias für den CLR-Typen System.String, so gibt es keinen Unterschied in der Leistung. Es ist nicht klar, warum MS sich dafür entschieden hat, diesen Alias einzubeziehen, insbesondere da die anderen Aliased-Typen (int, long usw.) Werttypen und keine Referenztypen sind.
In meinem Team entschieden wir, dass statische Methoden der String-Klasse wie z. String.ToUpper() statt string.ToUpper(), um mit anderen CLR Sprachen konsequenter zu sein.
Letztlich, welche Version Sie verwenden, ist an Ihnen, aber Sie sollten entscheiden, welche Sie in welchem Kontext, um die Konsistenz zu verbessern verwenden.
aber warum ist dieser syntaktische Zucker notwendig/nützlich? Ich habe das nie verstanden. Ich kam aus der MS-Welt und war für mich (obwohl es klar ist) immer nur ein Punkt der Verwirrung unter den Leuten und auch irgendwie eine Inkonsistenz im Programmierstil. Ein Teil des Teams verwendet String, andere string .. – Juri
Es ist nur so, dass primitive Typen wie string, int oder bool normalerweise ein entsprechendes Sprachschlüsselwort haben. Sie würden Int32 nicht jedes Mal schreiben wollen, wenn Sie einen Int ... –