Qual è la differenza tra String e string in C#

di Lorenzo Neri
0 commento 117 visualizzazioni

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#.

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à.

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più