如何合并列表中的3个列表项并将它们添加到另一个列表中?

时间:2016-05-24 15:53:42

标签: c# list

我有2个字符串列表。 在第一个列表中,我有30个或更多条目。 对于第二个列表,我需要合并3个项目并将它们作为1项添加到列表2中。

这是我的意思的一个例子:

List<string> dinosaurs = new List<string>();
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
dinosaurs.Add("VelociRaptor")

List<string> dinosaursmerged = new List<string>();

在此列表中有两个项目,其中包含:

item1 = "Tyrannosaurus;  Amargasaurus; Mamenchisaurus"
item2 = "Mamenchisaurus; Mamenchisaurus; VelociRaptor"

我尝试使用stringbuilderconcat,但没有成功。 任何帮助或建议都会很棒 - 感谢您的时间。

1 个答案:

答案 0 :(得分:0)

如果您想将第一个列表分组在第二个列表中,其中3个元素连接在一起,那么您可以编写

List<string> merged = new List<string>();
for(int x = 0; x < dinosaurs.Count; x+=3)
    merged.Add(string.Join(",", dinosaurs.Skip(x).Take(3)));

如果第一个列表不包含多个3的元素,这也将起作用。当然,最后一个元素可以由第一个列表中的1,2或3个元素组成。