Kuriant kableliais atskirtą sąrašą iš IList arba IEnumerable
Koks yra švariausias būdas sukurti kableliais atskirtą eilutės reikšmių sąrašą iš IList<string>
arba IEnumerable<string>
?
String.Join(...)
veikia su string[]
, todėl gali būti sudėtinga dirbti, kai tokių tipų kaip IList<string>
arba IEnumerable<string>
negalima lengvai konvertuoti į styginių masyvą.
800
3
.NET 4+
Detalūs & amp; Pre .Net 4.0 sprendimai
IEnumerable
galima labai lengvai paversti į eilutės masyvą naudojant LINQ (.NET 3.5):Jei reikia, nesunku parašyti lygiavertį pagalbinį metodą:
Tada jį iškvieskite taip:
Tada galite iškviesti
string.Join
. Žinoma, jūs neprivalote naudoti pagalbinio metodo:Tačiau pastarasis yra šiek tiek sudėtingas :)
Tikėtina, kad tai paprasčiausias būdas, be to, gana našus - yra ir kitų klausimų apie tai, koks tiksliai yra našumas, įskaitant (bet neapsiribojant) šį.
Nuo .NET 4.0 yra daugiau perkrovų
string.Join
, todėl iš tikrųjų galite tiesiog parašyti:Daug paprasčiau :)
galite konvertuoti IList į masyvą naudodami ToArray ir tada paleisti string.join komandą masyve.
Galite naudoti
.ToArray()
suLists
irIEnumerables
, o tada naudotiString.Join()
, kaip norėjote.