Ответ 1
Используйте SelectMany, чтобы сгладить результаты разбиения каждого имени на :
names.SelectMany(n => n.Split(':'))
.Dump();
Я хочу разделить каждый элемент в списке, но также и внутри каждого элемента, разделить элемент, если он содержит :
например.
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 может быть более элегантным.
Используйте SelectMany, чтобы сгладить результаты разбиения каждого имени на :
names.SelectMany(n => n.Split(':'))
.Dump();
Попробуйте это...
names = names.SelectMany(n => n.Split(':')).ToArray();