Creazione di nuove stringhe
Aggiornamento: novembre 2007
.NET Framework consente di creare stringhe tramite una semplice assegnazione, oltre a eseguire l'overload del costruttore di classe per supportare la creazione di stringhe utilizzando una serie di parametri diversi. .NET Framework fornisce inoltre diversi metodi nella classe System.String per creare nuovi oggetti stringa tramite la combinazione di più stringhe, matrici di stringhe o oggetti.
Creazione di stringhe tramite assegnazione
Il modo più semplice per creare un nuovo oggetto String consiste nell'assegnare un valore letterale stringa a un oggetto String.
Creazione di stringhe tramite un costruttore di classe
È possibile utilizzare overload del costruttore di classe String per creare stringhe da matrici di caratteri. È anche possibile creare una nuova stringa duplicando un determinato carattere per un numero specificato di volte.
Metodi che restituiscono stringhe
Nella tabella seguente sono elencati diversi metodi utili che restituiscono nuovi oggetti stringa.
Nome del metodo |
Utilizzo |
---|---|
Da un insieme di oggetti di input viene compilata una stringa formattata. |
|
Vengono compilate stringhe da due o più stringhe. |
|
Una nuova stringa viene compilata combinando una matrice di stringhe. |
|
Una nuova stringa viene compilata inserendo una stringa in corrispondenza dell'indice specificato di una stringa esistente. |
|
I caratteri di una stringa specificati vengono copiati in una posizione specificata all'interno di una matrice di caratteri. |
Format
È possibile utilizzare il metodo String.Format per creare stringhe formattate e concatenare stringhe che rappresentano più oggetti. Qualsiasi oggetto venga passato a questo metodo viene automaticamente convertito in una stringa. Se, ad esempio, l'applicazione deve visualizzare un valore Int32 e un valore DateTime, è possibile costruire con facilità una stringa che rappresenti tali valori utilizzando il metodo Format. Per ulteriori informazioni sulle convenzioni di formattazione utilizzate con questo metodo, vedere la sezione relativa alla formattazione composita.
Nell'esempio di codice che segue il metodo Format viene utilizzato per creare una stringa che utilizza una variabile integer.
Dim numberOfFleas As Integer = 12
Dim miscInfo As String = String.Format("Your dog has {0} fleas. " & _
"It is time to get a flea collar. " & _
"The current universal date is: {1:u}.", _
numberOfFleas, Date.Now)
Console.WriteLine(miscInfo)
' The example displays the following output:
' Your dog has 12 fleas. It is time to get a flea collar.
' The current universal date is: 2008-03-28 13:31:40Z.
int numberOfFleas = 12;
string miscInfo = String.Format("Your dog has {0} fleas. " +
"It is time to get a flea collar. " +
"The current universal date is: {1:u}.",
numberOfFleas, DateTime.Now);
Console.WriteLine(miscInfo);
// The example displays the following output:
// Your dog has 12 fleas. It is time to get a flea collar.
// The current universal date is: 2008-03-28 13:31:40Z.
In questo esempio DateTime.Now visualizza l'ora e la data correnti nel modo specificato dalle impostazioni cultura associate al thread corrente.
Concat
Il metodo String.Concat può essere utilizzato per creare facilmente un nuovo oggetto stringa da due o più oggetti esistenti. Esso fornisce una modalità di concatenamento delle stringhe indipendente dal linguaggio. Il metodo accetta qualsiasi classe che derivi da System.Object. Nell'esempio di codice che segue viene creata una stringa da due oggetti stringa esistenti e da un carattere di separazione.
Dim helloString1 As String = "Hello"
Dim helloString2 As String = "World!"
Console.WriteLine(String.Concat(helloString1, " "c, helloString2))
' The example displays the following output:
' Hello World!
string helloString1 = "Hello";
string helloString2 = "World!";
Console.WriteLine(String.Concat(helloString1, ' ', helloString2));
// The example displays the following output:
// Hello World!
Join
Il metodo String.Join consente di creare una nuova stringa da una matrice di stringhe e da una stringa di separazione. Questo metodo è utile per concatenare più stringhe, creando un elenco, eventualmente separato da virgole.
Nell'esempio di codice seguente viene utilizzato uno spazio per eseguire l'associazione di una matrice di stringhe.
Dim words() As String = {"Hello", "and", "welcome", "to", "my" , "world!"}
Console.WriteLine(String.Join(" ", words))
' The example displays the following output:
' Hello and welcome to my world!
string[] words = {"Hello", "and", "welcome", "to", "my" , "world!"};
Console.WriteLine(String.Join(" ", words));
// The example displays the following output:
// Hello and welcome to my world!
Insert
Il metodo String.Insert consente di creare una nuova stringa inserendo una stringa in una posizione specificata all'interno di un'altra stringa. In questo metodo viene utilizzato un indice a base zero. Nell'esempio di codice che segue viene inserita una stringa in corrispondenza della quinta posizione di indice di MyString e viene creata una nuova stringa con tale valore.
Dim sentence As String = "Once a time."
Console.WriteLine(sentence.Insert(4, " upon"))
' The example displays the following output:
' Once upon a time.
string sentence = "Once a time.";
Console.WriteLine(sentence.Insert(4, " upon"));
// The example displays the following output:
// Once upon a time.
CopyTo
Il metodo String.CopyTo consente di copiare parti di una stringa in una matrice di caratteri. È possibile specificare sia l'indice iniziale della stringa sia il numero dei caratteri da copiare. Il metodo contiene l'indice di origine, una matrice di caratteri, l'indice di destinazione e il numero dei caratteri da copiare. Tutti gli indici sono a base zero.
Nell'esempio di codice riportato di seguito viene utilizzato il metodo CopyTo per copiare nella prima posizione di indice di una matrice di caratteri i caratteri della parola "Hello" di un oggetto stringa.
Dim greeting As String = "Hello World!"
Dim charArray() As Char = {"W"c, "h"c, "e"c, "r"c, "e"c}
Console.WriteLine("The original character array: {0}", New String(charArray))
greeting.CopyTo(0, charArray,0 ,5)
Console.WriteLine("The new character array: {0}", New String(charArray))
' The example displays the following output:
' The original character array: Where
' The new character array: Hello
string greeting = "Hello World!";
char[] charArray = {'W','h','e','r','e'};
Console.WriteLine("The original character array: {0}", new string(charArray));
greeting.CopyTo(0, charArray,0 ,5);
Console.WriteLine("The new character array: {0}", new string(charArray));
// The example displays the following output:
// The original character array: Where
// The new character array: Hello