我可以在c#中创建列表的精确副本吗?
File
以不同的顺序存储tempList
由于
答案 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。