Concatenazione di stringhe

C#:
Concatenazione di stringhe

How to (Come Fare)

Ecco alcuni modi per concatenare stringhe in C#:

string firstname = "Mario";
string lastname = "Rossi";
string fullname = firstname + " " + lastname; // Concatenazione con l'operatore +
Console.WriteLine(fullname); // Output: Mario Rossi

string greeting = "Ciao, ";
greeting += firstname; // Concatenazione con operatore +=
Console.WriteLine(greeting); // Output: Ciao, Mario

string city = "Roma";
string welcome = String.Concat(greeting, " benvenuto a ", city, "!"); // Concatenazione con String.Concat
Console.WriteLine(welcome); // Output: Ciao, Mario benvenuto a Roma!

string info = $"Il tuo nome completo è {fullname} e vivi a {city}."; // Interpolazione di stringa
Console.WriteLine(info); // Output: Il tuo nome completo è Mario Rossi e vivi a Roma.

Deep Dive (Analisi Approfondita)

Un tempo, in C#, concatenare stringhe con l’operatore + in un ciclo poteva essere dispendioso in termini di prestazioni. Lo era perché creava un nuovo oggetto stringa a ogni iterazione. Questo problema venne risolto con l’introduzione del tipo StringBuilder, che è più efficiente in scenari simili.

Alternative moderne includono l’interpolazione di stringa, introdotta in C# 6, che rende il codice più leggibile e manutenibile. È importante notare, però, che l’interpolazione usa internamente String.Format, che può essere meno efficiente di StringBuilder per grandi quantità di concatenazioni.

StringBuilder sb = new StringBuilder();
sb.Append("Ciao");
sb.Append(" ");
sb.Append("mondo");
string message = sb.ToString(); // Output: Ciao mondo

Implementazione dipende anche da come .NET gestisce le stringhe nella memoria: sono immutabili. Concatenazioni frequenti possono portare a un uso di memoria intensivo, quindi scegliereil metodo adeguato è fondamentale.

See Also (Vedi Anche)