C# 使用LINQ拆分列表中的项目

C# 使用LINQ拆分列表中的项目,c#,linq,C#,Linq,我想将列表中的每个项目分开,但在每个项目中,如果项目包含: names.SelectMany(n => n.Split(':')) .Dump(); 例如 将显示: Peter:John:Connor Paul Mary:Blythe 但是,是否有我可以使用的LINQ,它将提供以下列表: Peter John Connor Paul Mary Blythe 我可以使用以下方法进行此操作: foreach (var person in names) { x = per

我想将列表中的每个项目分开,但在每个项目中,如果项目包含

names.SelectMany(n => n.Split(':'))
     .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
    }
}          
…但这似乎很冗长,因为我肯定林克会更优雅

用于按

names.SelectMany(n => n.Split(':'))
     .Dump();
试试这个

names = names.SelectMany(n => n.Split(':')).ToArray();

@伊利亚伊万诺夫,谢谢!我总是忘记按字符串拆分需要新的数组,对字符也需要这样做:)我会尽量记住,请不要在问题标题中包含关于所用语言的信息,除非没有它就没有意义。标签就是为了这个目的。