Una stringa è una sequenza di oggetti di tipo Char contenuta in un oggetto di tipo string o String. Il tipo string è un alias del tipo String. Le stringhe ASP.NET possono essere manipolate facilmente mediante le proprietà e i metodi della classe String.

Ad esempio, la proprietà .Lenght restituisce il numero di oggetti di tipo Char presenti nella stringa.

Le stringhe ASP.NET: la proprietà Length

Le stringhe ASP.NET: la proprietà Length

Inizializzazione delle stringhe in ASP.NET

Come per gli altri tipi di dati, le stringhe possono essere dichiarate indicando il tipo e il nome dell’oggetto (1). Il valore iniziale della stringa può essere impostato al momento della dichiarazione (3) o in un momento successivo (2).

// Le stringhe ASP.NET - Esempio 1
string str ; // Dichiarazione (1)
str = "abcde"; // Inizializzazione (2)
String Str = "abcde"; // Dichiarazione + Inizializzazione (3)

Il valore della stringa è delimitato da apici doppi, può contenere caratteri in formato Unicode e sequenze di escape per la stampa di caratteri speciali, come il carattere di nuova riga (\n) o la tabulazione (\t).

String Str ="Stringa \t Tabulazione \n\n";

Il carattere nuova riga e tabulazione non vengono visualizzati nella finestra del browser ma solo nel codice sorgente del documento.

Anche l’inclusione di un apice, singolo o doppio, all’interno della stringa richiede l’utilizzo di una sequenza di escape.

String Str ="Apice doppio \" e apice singolo \' ";

Le sequenze di escape sono formate dal carattere backslash seguito dal carattere riservato del linguaggio, come l’apice doppio che delimita una stringa, o speciale ad esempio, il simbolo n che indica una nuova riga.

Nel caso una stringa contenga diversi caratteri speciali o riservati si può usare il simbolo @ per indicare al compilatore .NET di ignorare i caratteri speciali presenti nella stringa.

// Le stringhe ASP.NET - Esempio 2
String path = "C:\\server\\css\\main.css"; 
// Tutti i caratteri speciali o riservati saranno ignorati 
String path2 = @"C:\server\css\main.css";

Stringhe di formato

Una stringa di formato viene costruita durante l’esecuzione del programma mediante il metodo .Format(), il cui argomento contiene una stringa con dei segnaposto, indicati con le parentesi graffe, che saranno sostituiti dal valore contenuto nelle variabili indicate negli argomenti successivi.

// Le stringhe ASP.NET - Esempio 3
string s;
int j = 0;
for (int i = 1; i <= 10; i++){
  j += 10;
  s = System.String.Format("Ciclo: {0} - valore di j: {1} <br>", i, j);
  Response.Write(s);
}

Nell’esempio, il valore della variabile i viene sostituito al primo segnaposto {0} mentre il valore della variabile j sostituisce il secondo segnaposto {1}.

Confrontare le stringhe ASP.NET

Per confrontare il valore contenuto in due oggetti stringa si può usare l’operatore di uguaglianza o il metodo .Equals(). Entrambi, in caso di corrispondenza restituiscono, True.

// Le stringhe ASP.NET - Esempio 4
string str = "abcde";
String Str = "abcde";
Response.Write(str == Str); // True
Response.Write(str.Equals(Str)); // True

In entrambi i casi la comparazione è case sensitive. Nel seguente esempio viene restituito il valore False in entrambi i casi.

// Le stringhe ASP.NET - Esempio 5
string str = "abcde";
String Str = "Abcde";
Response.Write(str == Str); // False
Response.Write(str.Equals(Str)); // False

Si può verificare anche se una stringa inizia o finisce con una particolare sequenza di caratteri mediante i metodi .StartWith() e .EndWith().

// Le stringhe ASP.NET - Esempio 6
string str = "Stringa di esempio";
Response.Write(str.StartsWith("Stringa")); // True
Response.Write(str.EndsWith("esempio")); // True

I metodi .StartWith() e .EndWith() restituiscono True se la stringa inizia o termina con la stringa passata come argomento. Anche in questo caso il confronto è case sensitive.

Rimuovere gli spazi dalla stringa

Per rimuovere gli spazi all’inizio o alla fine di una stringa utilizzare i metodi:

  • .TrimStart(), rimuove gli spazi all’inizio della stringa
  • .TrimEnd(), rimuove gli spazi alla fine della stringa
  • .Trim(), rimuove gli spazi all’inizio e alla fine della stringa

I tre metodi accettano come argomento un carattere che, se indicato, viene rimosso dalla stringa nella posizione specificata.

// Le stringhe ASP.NET - Esempio 7
string str = "***Stringa***";
Response.Write("Stringa:"+str.TrimStart('*')+"<br>"); // Stringa***
Response.Write("Stringa:" + str.TrimEnd('*') + "<br>"); // ***Stringa
Response.Write("Stringa:" + str.Trim('*') + "<br>"); // Stringa

Trasformare una stringa in un array

Il metodo .Split() trasforma una stringa in un array di stringhe utilizzando un carattere, indicato come argomento, per separare i singoli elementi.

// Le stringhe ASP.NET - Esempio 8
String stringa = "uno,due,tre";
String[] arrayDiStringhe = stringa.Split(',');
foreach(string s in arrayDiStringhe){
  Response.Write(s + "<br>");
}

L’esempio mostra come la stringa venga trasformata in un array utilizzano il carattere virgola per separare i singoli elementi dell’array. Il carattere usato come separatore viene rimosso dalla stringa e non viene inserito nell’array.

Ulteriori informazioni sugli array sono disponibili nell’articolo Introduzione agli array in C#. Per ulteriori informazioni sulle stringhe consultare la documentazione ufficiale.