using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public class Article {
public string Name { get; set; }
public string Colour { get; set; }
}
public static void Main()
{
var list = new List<Article> {
new Article { Name = "Article1, Article2, Article3", Colour = "Red" }
, new Article { Name = "Article4, Article5, Article6", Colour = "Blue" }
};
var res = list.SelectMany(
art => art.Name.Split(',').Select(n =>
new Article {
Name = n.Trim()
, Colour = art.Colour
}
)
);
foreach (var a in res) {
Console.WriteLine("{0} : {1}", a.Name, a.Colour);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgoKcHVibGljIGNsYXNzIFRlc3QKewoJCglwdWJsaWMgY2xhc3MgQXJ0aWNsZSB7CiAgICAgICAgcHVibGljIHN0cmluZyBOYW1lIHsgZ2V0OyBzZXQ7IH0KICAgICAgICBwdWJsaWMgc3RyaW5nIENvbG91ciB7IGdldDsgc2V0OyB9CiAgICB9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgbGlzdCA9IG5ldyBMaXN0PEFydGljbGU+IHsKICAgICAgICAgICAgbmV3IEFydGljbGUgeyBOYW1lID0gIkFydGljbGUxLCBBcnRpY2xlMiwgQXJ0aWNsZTMiLCBDb2xvdXIgPSAiUmVkIiB9CiAgICAgICAgLCAgIG5ldyBBcnRpY2xlIHsgTmFtZSA9ICJBcnRpY2xlNCwgQXJ0aWNsZTUsIEFydGljbGU2IiwgQ29sb3VyID0gIkJsdWUiIH0KICAgICAgICB9OwogICAgICAgIHZhciByZXMgPSBsaXN0LlNlbGVjdE1hbnkoCiAgICAgICAgICAgIGFydCA9PiBhcnQuTmFtZS5TcGxpdCgnLCcpLlNlbGVjdChuID0+CiAgICAgICAgICAgICAgICBuZXcgQXJ0aWNsZSB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSA9IG4uVHJpbSgpCiAgICAgICAgICAgICAgICAsICAgQ29sb3VyID0gYXJ0LkNvbG91cgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApCiAgICAgICAgKTsKICAgICAgICBmb3JlYWNoICh2YXIgYSBpbiByZXMpIHsKICAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUoInswfSA6IHsxfSIsIGEuTmFtZSwgYS5Db2xvdXIpOwogICAgICAgIH0KCX0KfQ==