Mi piacerebbe convertire un array di stringhe in una stringa singola.converte array di stringhe in stringa
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Mi piacerebbe avere qualcosa di simile "Ciao Mondo!"
Mi piacerebbe convertire un array di stringhe in una stringa singola.converte array di stringhe in stringa
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Mi piacerebbe avere qualcosa di simile "Ciao Mondo!"
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
Prova:
String.Join("", test);
che dovrebbe restituire una stringa che unisce i due elementi insieme. ""
indica che si desidera unire le stringhe senza separatori.
Questo non renderebbe "HelloWorld!" senza uno spazio tra le parole? – jmort253
@ jmort253 - La stringa originale "Hello" nella domanda aveva già uno spazio finale. Se lo spazio non fosse già lì, allora saresti corretto, e usare '" "' come separatore avrebbe più senso. – davidg
+1 - Buon punto! Non ho visto lo spazio extra. – jmort253
string ConvertStringArrayToString(string[] array)
{
//
// Concatenate all the elements into a StringBuilder.
//
StringBuilder strinbuilder = new StringBuilder();
foreach (string value in array)
{
strinbuilder.Append(value);
strinbuilder.Append(' ');
}
return strinbuilder.ToString();
}
Questo è solo manualmente l'implementazione di 'string.Join (" ", array)' (tranne il tuo aggiunge uno spazio finale). Perché non usare solo quello in biblioteca? – davidg
@davidg - Ashwini è probabilmente nuovo. Imparare a usare gli strumenti esistenti e superare la mentalità del college "Devo farlo da solo" richiede un po 'di tempo per abituarsi. Lo ha fatto per me. Alla fine, le persone si chiedono perché i loro colleghi siano in grado di codificare i cerchi intorno a loro, e quindi vedono il valore nelle librerie di codici e riutilizzo. – jmort253
qualsiasi cosa abbia ricordato ho cercato di aiutare tutto questo .. se qualcuno ha una soluzione migliore sei sempre libero di postarlo .. @ jmort: sono passati 4 anni da quando lavoro ... non ho la mentalità di Quando parli di ... qualcuno non è perfetto ... negli anni di esperienza che hai imparato ... non lo negherai questo fatto .. – programmer
Ti piace questa:
string str= test[0]+test[1];
È anche possibile utilizzare un ciclo:
for(int i=0; i<2; i++)
str += test[i];
Un semplice String.Concat() è quello che ti serve.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = string.Concat(test);
Se hai bisogno anche di aggiungere un separatore (spazio, virgola, ecc), allora, string.join() è consentito.
string[] test = new string[2];
test[0] = "Red";
test[1] = "Blue";
string result = string.Join(",", test);
Se si deve eseguire questo su una matrice di stringhe con hundereds di elementi di string.join() è meglio punto di vista performace. Basta dare un argomento "" (vuoto) come separatore. StringBuilder può anche essere usato per motivi di prestazioni, ma renderà il codice un po 'più lungo.
Ho usato questo modo di fare il mio progetto più veloce:
RichTextBox rcbCatalyst = new RichTextBox()
{
Lines = arrayString
};
string text = rcbCatalyst.Text;
rcbCatalyst.Dispose();
return text;
RichTextBox.Text convertirà automaticamente il vostro array in una stringa multilinea!
Un'opzione leggermente più veloce rispetto all'uso del già citato uso del metodo Join()
è il metodo Concat(). Non richiede un parametro delimitatore vuoto come fa Join()
. Esempio:
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string result = String.Concat(test);
quindi è più veloce.
Nella risposta accettata, String.Join non è la migliore procedura per il suo utilizzo. String.Concat dovrebbe essere utilizzato poiché OP includeva uno spazio finale nel primo elemento: "Hello" (invece di utilizzare un delimitatore null).
Tuttavia, poiché OP ha richiesto il risultato "Hello World!", String.Join è ancora il metodo appropriato, ma gli spazi bianchi finali devono invece essere spostati sul delimitatore.
// string[] test = new string[2];
// test[0] = "Hello ";
// test[1] = "World!";
string[] test = { "Hello", "World" }; // Alternative array creation syntax
string result = String.Join(" ", test);
Aggregate
può essere utilizzato anche per lo stesso.
+1 - Ho rimosso lo spazio nel join per rendere questo corretto, come sottolineato da @davidg – jmort253
Grazie. Non ho notato lo spazio finale, anche se l'ho incollato correttamente nella mia risposta. –
Avevo anche bisogno di mettere un separatore tra le mie stringhe (coma e spazio) così ho usato: 'var separator =", ";' 'string.Join (separatore, test);' – ripegooseberry