La cosa fondamentale da ricordare sulle stringhe di C# è che sono oggetti immutabili che rappresentano testo come una sequenza di caratteri Unicode (lettere, cifre, punteggiatura, ecc.). Per definire un'istanza di string si usano le virgolette doppie:
string fruit = "Apple";
Per manipolare una stringa puoi chiamare uno dei suoi metodi o una delle sue proprietà. Poiché il valore di una stringa non può mai cambiare dopo essere stato definito, tutti i metodi di manipolazione delle stringhe restituiscono una nuova stringa.
Una stringa è delimitata da virgolette doppie ("). Alcuni caratteri speciali devono essere sottoposti a escape usando il carattere backslash (\). Una stringa può anche essere preceduta dal simbolo at (@), che la rende una stringa verbatim che ignora qualsiasi carattere di escape.
string escaped = "c:\\test.txt";
string verbatim = @"c:\test.txt";
escaped == verbatim;
// => true
Se ti serve solo una parte di una stringa, puoi usare il metodo Substring() per estrarre proprio quella parte:
string sentence = "Frank chases the bus.";
string name = sentence.Substring(0, 5);
// => "Frank"
Il metodo IndexOf() può essere usato per trovare l'indice della prima occorrenza di una string all'interno di una string; restituisce -1 se il valore specificato non viene trovato:
"continuous-integration".IndexOf("integration")
// => 11
"continuous-integration".IndexOf("deployment")
// => -1
Infine, ci sono molti modi per concatenare una stringa. Il più semplice è usare l'operatore +.
string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"
Per qualsiasi formattazione di stringa più complessa di una semplice concatenazione, è preferibile l'interpolazione di stringhe. Per abilitare l'interpolazione in una stringa, aggiungi all'inizio il simbolo del dollaro ($).
string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"