C# 怎么把list副本保存进Dictionary

就是,在for循环里每次给listAadd()两个值,每次的值不一样,然后把A存进Dictionary<int,List>B;我希望每次循环赋给listA的值在字典里不改... 就是,在for循环里每次给listA add()两个值,每次的值不一样,然后把A存进Dictionary<int,List> B;
我希望每次循环赋给list A的值在字典里不改变,也不销毁。
也就是需要字典里有存有不同值的List

我能想到的只有new一堆List,然后每次循环赋值一个存进去。有没有更好的办法
展开
 我来答
wangpaishi
2018-11-25 · TA获得超过570个赞
知道小有建树答主
回答量:932
采纳率:52%
帮助的人:758万
展开全部
每次只有两个值,这两个值除了添加到List当中还需要添加到Dictionary当中?这两个值是什么数据类型?如果嫌弃new一堆List麻烦,可以改进一下。比如可以只保存在List中的索引位置就行。C#周很多类型都是引用类型,你所谓的副本如果没有明显的Clone之类或专门赋值传递成副本的话,他根本就不是副本,只是引用。如果是int之类的话,也可以考虑把两个int合并成一个Int64,成Dictionary<int,Int64>,也可以另外创建一个Class,构造函数当中直接传入这两个值,并保存。数组也可以考虑。Dictionary<int,object[]>。for循环每次都是两个两个的是有规律的。可以跟你这个规律直接定位,索引,动态定位。为什么不同时Add到另外一个List?object.Clone(),List.Clone()
追问
保存的值是unity的game object,好的,我会考虑你说的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式