Non è solo una differenza di maiuscole, di fatto ho voluto scrivere questo articolo per spiegarti qual è la vera differenza tra String e string in C#.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Partiamo dalle basi
Se ti metti a scrivere con qualsiasi editor per C#, noterai che i due tipi vengono evidenziati con due colori diversi. Di fatto già questo, se ti fosse capitato almeno una volta, è un campanello di dubbio. Per intenderci:
string s = "Ciao!";
String s = "Ciao!";
Perciò: si tratta solo di colore o c’è qualcosa di insolito sotto in questa differenza?
È un discorso di Alias
Dentro Microsoft hanno deciso di integrare una cosa parecchio comoda per la scrittura di codice in C#.
In altre parole, hai presente quando devi richiamare un metodo particolare di una classe all’interno della libreria e scrivere per esteso dentro il tuo codice tutto ma proprio tutto?
Ecco che intervengono gli alias.
Gli alias ce li possiamo immaginare come delle stringhe sostitutive che fanno le veci (e non “feci” mi raccomando) delle stringhe originali.
Un esempio concreto di alias
Se programmi in C#, ma anche se non programmassi in C#… Beh se devi dichiarare una variabile di tipo intero scriverai qualcosa come:
int variabile=0;
Ti sei mai accorto che in realtà, quell'”int” rappresenta:
System.Int32
No? In estrema sintesi, l’alias ti permette di scrivere solamente “int” anziché “System.Int32” ogni volta che devi creare variabili di tipo intero, oppure richiamare metodi derivanti dal tipo int.
Chiarito questo, cerchiamo di capire ai fini pratici qual è la differenza tra “String” e “string”.
Abitudini e “suggerimenti”
Ai fini pratici e da un punto di vista meramente tecnico, non ci sono differenze nell’utilizzo di “String” oppure “string”: le cose funzionano comunque!
Naturalmente, ci sono dei suggerimenti così come mostrati negli esempi di Microsoft.
Quando usare “string”
Se devi creare una stringa e fare riferimento ad essa come un oggetto, allora è giusto e preferibile usare la variante senza maiuscola.
Per intenderci:
string oggetto = "Lorenzo";
Quando usare “String”
Se devi fare uso di metodi specifici relativi alle stringhe, allora è opportuno usare la variante con la maiuscola.
Facciamo anche qua un esempio:
string saluto = String.Format("Ciao {0}!",oggetto),
In conclusione
Quindi, da un punto di vista tecnico la differenza tra Stringe string in C# è praticamente nessuna, da un punto di vista dell’utilizzo, abbiamo visto quali sono le modalità d’uso per in base alle proprie necessità.