创建字符串列表的精确副本

时间:2016-08-11 15:24:22

标签: c# asp.net

我可以在c#中创建列表的精确副本吗?

File

以不同的顺序存储tempList

由于

3 个答案:

答案 0 :(得分:3)

您只需将第一个列表addadAttachments的引用分配给新变量,但不要创建新列表。

要创建新列表,只需调用

即可
List<string> tempList = new List<string>(addedAttachments);

列表中字符串的顺序保持不变。

但请注意,这仅适用于string等不可变类型。使用复杂的可变对象列表,您可以将相同的对象添加到新列表中,因此如果更改旧列表中对象的属性,则“新列表中的对象”也会更改(更改的对象)。所以你可能还需要复制这些对象。

答案 1 :(得分:1)

要创建副本,请尝试 Linq

List<string> tempList = addedAttachments.ToList();

答案 2 :(得分:1)

由于你有List<string>并且字符串是不可变的,你可以这样做:

List<string> tempList = addedAttachments.ToList();

如果您的列表中有自定义对象,那么您应该查找cloning