Condividi tramite


Creare nuove stringhe in .NET

.NET consente la creazione di stringhe usando un'assegnazione semplice ed esegue anche l'overload di un costruttore di classi per supportare la creazione di stringhe usando diversi parametri. .NET fornisce anche diversi metodi nella System.String classe che creano nuovi oggetti stringa combinando diverse stringhe, matrici di stringhe o oggetti.

Creare stringhe usando l'assegnazione

Il modo più semplice per creare un nuovo String oggetto consiste semplicemente nell'assegnare un valore letterale stringa a un String oggetto .

Creare stringhe usando un costruttore di classe

È possibile usare gli overload del costruttore della String classe per creare stringhe da matrici di caratteri. È anche possibile creare una nuova stringa duplicando un particolare carattere 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
String.Format Compila una stringa formattata da un set di oggetti di input.
String.Concat Compila stringhe da due o più stringhe.
String.Join Compila una nuova stringa combinando una matrice di stringhe.
String.Insert Compila una nuova stringa inserendo una stringa nell'indice specificato di una stringa esistente.
String.CopyTo Copia i caratteri specificati in una stringa in una posizione specificata in una matrice di caratteri.

Formato

È possibile utilizzare il String.Format metodo per creare stringhe formattate e concatenare stringhe che rappresentano più oggetti. Questo metodo converte automaticamente qualsiasi oggetto passato in una stringa. Ad esempio, se l'applicazione deve visualizzare un Int32 valore e un DateTime valore per l'utente, è possibile costruire facilmente una stringa per rappresentare questi valori usando il Format metodo . Per informazioni sulle convenzioni di formattazione usate con questo metodo, vedere la sezione relativa alla formattazione composita.

Nell'esempio seguente viene utilizzato il Format metodo per creare una stringa che usa una variabile integer.

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

In questo esempio,DateTime.Now visualizza la data e l'ora correnti nel modo specificato dalla cultura associata al thread corrente.

Concat

Il String.Concat metodo può essere usato per creare facilmente un nuovo oggetto stringa da due o più oggetti esistenti. Fornisce un modo indipendente dal linguaggio per concatenare stringhe. Questo metodo accetta qualsiasi classe che deriva da System.Object. Nell'esempio seguente viene creata una stringa da due oggetti stringa esistenti e da un carattere di separazione.

string helloString1 = "Hello";
string helloString2 = "World!";
Console.WriteLine(String.Concat(helloString1, ' ', helloString2));
// The example displays the following output:
//      Hello World!
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!

Unisciti.

Il String.Join metodo crea una nuova stringa da una matrice di stringhe e una stringa separatore. Questo metodo è utile se si desidera concatenare più stringhe insieme, rendendo un elenco forse separato da una virgola.

Nell'esempio seguente viene usato uno spazio per associare una matrice di stringhe.

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!
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!

Inserire

Il String.Insert metodo crea una nuova stringa inserendo una stringa in una posizione specificata in un'altra stringa. Questo metodo usa un indice in base zero. Nell'esempio seguente viene inserita una stringa nella quinta posizione di indice di MyString e viene creata una nuova stringa con questo valore.

string sentence = "Once a time.";
 Console.WriteLine(sentence.Insert(4, " upon"));
 // The example displays the following output:
 //      Once upon a time.
Dim sentence As String = "Once a time."
Console.WriteLine(sentence.Insert(4, " upon"))
' The example displays the following output:
'      Once upon a time.

CopiaIn

Il String.CopyTo metodo copia parti di una stringa in una matrice di caratteri. È possibile specificare sia l'indice iniziale della stringa che il numero di caratteri da copiare. Questo metodo accetta l'indice di origine, una matrice di caratteri, l'indice di destinazione e il numero di caratteri da copiare. Tutti gli indici sono in base zero.

Nell'esempio seguente viene utilizzato il CopyTo metodo per copiare i caratteri della parola "Hello" da un oggetto stringa alla prima posizione di indice di una matrice di caratteri.

string greeting = "Hello World!";
char[] charArray = {'W','h','e','r','e'};
Console.WriteLine($"The original character array: {new string(charArray)}");
greeting.CopyTo(0, charArray,0 ,5);
Console.WriteLine($"The new character array: {new string(charArray)}");
// The example displays the following output:
//       The original character array: Where
//       The new character array: Hello
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

Vedere anche