Voorbeeld (teken de zaak):
string s = "Hello world!";
String s = "Hello world!";
Wat zijn de richtlijnen voor het gebruik van elk van beide? En wat zijn de verschillen?
string
is een alias in C# voor System.String
.
Dus technisch gezien is er geen verschil. Het is net zoiets als int
vs. System.Int32
.
Wat richtlijnen betreft, het'is over het algemeen aanbevolen om string
te gebruiken wanneer je'naar een object verwijst.
bijv.
string place = "world";
Evenzo denk ik dat het over het algemeen aan te bevelen is String
te gebruiken als je specifiek naar de klasse moet verwijzen.
bijv.
string greet = String.Format("Hello {0}!", place);
Het lijkt erop dat de richtlijnen op dit gebied veranderd zijn, aangezien StyleCop nu het gebruik van de C# specifieke aliassen afdwingt.
System.String
is de .NET string klasse - in C# is string
een alias voor System.String
- dus in gebruik zijn ze hetzelfde.
Wat richtlijnen betreft zou ik me niet al te veel vastbijten en gewoon gebruiken waar je zin in hebt - er zijn belangrijkere dingen in het leven en de code zal toch hetzelfde zijn.
Als je systemen bouwt waarbij het nodig is om de grootte van de gehele getallen die je gebruikt te specificeren en dus de neiging hebt om Int16
, Int32
, UInt16
, UInt32
etc. te gebruiken, dan kan het er natuurlijker uitzien om String
te gebruiken - en als je tussen verschillende .net talen heen en weer gaat kan het dingen begrijpelijker maken - anders zou ik string en int gebruiken.
Kleine letters string
is een alias voor System.String
.
Ze zijn hetzelfde in C#
.
Er is een discussie over de vraag of je de System types (System.Int32
, System.String
, enz.) moet gebruiken of de C# aliassen
(int
, string
, enz.). Persoonlijk ben ik van mening dat je de C# aliassen
moet gebruiken, maar dat'is slechts mijn persoonlijke voorkeur.