如何从一个列表创建多个列表

时间:2018-10-29 01:54:33

标签: c# list sorting

我正在研究C#中的多种排序方法。 为此,我需要创建一个要排序的列表,然后使用sort方法对该列表进行排序。问题是我不知道没有创建大约100个唯一列表的简单方法即可复制此列表,因此我可以有效地测试每种方法。

-是否有一种简便的方法可以有效地创建列表的多个副本。

-是否有一种方法可以清除列表,然后用原始列表重新填充  无需创建很多唯一列表。

谢谢。

2 个答案:

答案 0 :(得分:1)

样品清单:

var list1 = new List<string>();
  

-是否有一种简便的方法可以有效地创建列表的多个副本。

var list2 = list1.ToList();
  

-有没有一种方法可以清除列表,然后用原始列表重新填充它,而无需创建很多唯一列表。

var list2 = new List<string>(list1);
list2.Clear();
list2.AddRange(list1);
list2.Clear();
list2.AddRange(list1);

**请注意,使用.Clear的列表Capacity不会重置。由于我们只是在不改变大小的情况下重用了相同的源列表,所以我认为这对您来说不是问题。 如果您要更改测试之间的测试项目数,则我将初始化列表,使其容量与测试集中的最大列表的大小相匹配。

答案 1 :(得分:0)

您可以如下所示将列表复制到另一个

Expected undefined to be 1.

使用循环的另一种方式

List<string> source = new List<string> { "one", "two", "three" };
List<string> target;

// simplest all source ellements from list constructor
target = new List<string>(source);