c# - Flatten List<string[]> into single string with one line for each element -
i have instance of type list<string[]>
convert string each string[]
on newline. i'm using following linq query flatten out list i'm not sure how can add new line between each string[]
without expanding query far more ugly. there way without gutting query , using string.join
or ienumberable.aggregate
inside foreach
loop?
results.selectmany(x => x).aggregate((c, n) => c + ", " + n)
string.join(environment.newline, results.select(a => string.join(", ", a)));
complete sample:
var results = new list<string[]> { new[]{"this", "should", "be", "on"}, new[]{"other", "line"} }; var result = string.join(environment.newline, results.select(a => string.join(", ", a)));
result:
this, should, be, on other, line
update here aggregation done right - uses stringbuilder build single string in memory
results.aggregate(new stringbuilder(), (sb, a) => sb.appendline(string.join(",", a)), sb => sb.tostring());
Comments
Post a Comment