Creare una lista separata da virgole da IList o IEnumerable
Qual è il modo più pulito per creare un elenco separato da virgole di valori stringa da una IList<string>
o IEnumerable<string>
?
String.Join(...)
opera su una stringa[]
quindi può essere macchinoso lavorarci quando tipi come IList<string>
o IEnumerable<string>
non possono essere facilmente convertiti in un array di stringhe.
800
3
.NET 4+
Detail & Pre .Net 4.0 Solutions
IEnumerable
può essere convertito in un array di stringhe molto facilmente con LINQ (.NET 3.5):E'abbastanza facile scrivere il metodo helper equivalente se ne avete bisogno:
Poi chiamatelo in questo modo:
Potete quindi chiamare
stringa.Join
. Naturalmente, non devi usare un metodo helper:Quest'ultimo è un po' un bocconcino però :)
Questo è probabilmente il modo più semplice per farlo, e anche abbastanza performante - ci sono altre domande su come sono esattamente le prestazioni, incluso (ma non limitato a) questo.
A partire da .NET 4.0, ci sono più sovraccarichi disponibili in
string.Join
, quindi puoi effettivamente solo scrivere:Molto più semplice :)
potete convertire l'IList in un array usando ToArray e poi eseguire un comando string.join sull'array.
Puoi usare
.ToArray()
suLists
eIEnumerables
, e poi usareString.Join()
come volevi.