我正在研究C#中的多种排序方法。 为此,我需要创建一个要排序的列表,然后使用sort方法对该列表进行排序。问题是我不知道没有创建大约100个唯一列表的简单方法即可复制此列表,因此我可以有效地测试每种方法。
-是否有一种简便的方法可以有效地创建列表的多个副本。
-是否有一种方法可以清除列表,然后用原始列表重新填充 无需创建很多唯一列表。
谢谢。
答案 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);