我想分隔列表中的每个项目,但也要在每个项目中分开,如果项目包含:
例如。
string[] names = {"Peter:John:Connor","Paul","Mary:Blythe"};
name.Dump();
将显示:
Peter:John:Connor
Paul
Mary:Blythe
但是,我可以使用任何LINQ,它将提供以下列表:
Peter
John
Connor
Paul
Mary
Blythe
我可以这样做:
foreach (var person in names)
{
x = person.split(":").ToList();
foreach (var personinlist in x)
{
// personinlist
}
}
...但是,当我确定LINQ可能更优雅时,这似乎很长。
答案 0 :(得分:40)
使用SelectMany展平按:
names.SelectMany(n => n.Split(':'))
.Dump();
答案 1 :(得分:-1)
试试这个......
names = names.SelectMany(n => n.Split(':')).ToArray();