C# 集合怎么赋值给另一个集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 集合怎么赋值给另一个集合相关的知识,希望对你有一定的参考价值。

List<string> list = new List<string>();
list.add("hello");
List<string> list2 = new List<string>();
list2 = list;

这样是把list2指向list
如果删除list2内容。list跟着也被删除

不用循环有没有什么简单的方法将一个list赋值给另一个list

List<string> list = new List<string>();
list.Add("aaa");
做个变量控制下就可以·
因为你删除的时候·又重新赋值给下面这个了·所以这里得控制下·
List<string> list1 = new List<string>();
list1 = list;

就这样试试··
参考技术A 试试:
list2.AddRange(list);
参考技术B list2.AddRange(list);

public void AddRange(IEnumerable<T> collection)

List<>的AddRange方法要求一个继承IEnumerable<>泛型接口的类的实例作为参数,
参考技术C 你可以尝试利用深拷贝来实现 参考技术D 本质上只能做循环来实现

将一个泛型集合中的数据赋给另一个泛型集合

单纯new一个用“=”的话 改变新new的 原数组也会随之改变 是跟随的。

因此要单纯赋值的话有一个简单的方法:

// 如果真要这么做,但是有不想麻烦的话,就直接使用 ToList 方法,
List<int> a = new List<int> { 1, 2, 3, 4 };
List<int> b = a.ToList();
a.Clear();
Console.WriteLine(b.Count);

 

以上是关于C# 集合怎么赋值给另一个集合的主要内容,如果未能解决你的问题,请参考以下文章

java map集合赋值 key值相同覆盖问题

将一个泛型集合中的数据赋给另一个泛型集合

如何给list赋值

c#中泛型集合怎样写强制类弄转换

c#如何把一list<> 复制到 另一个list<>

C#将一个类中的数值赋值给另一个类 两个相同类型的类,例如 Class c1; Clas