C# 怎么把list副本保存进Dictionary
就是,在for循环里每次给listAadd()两个值,每次的值不一样,然后把A存进Dictionary<int,List>B;我希望每次循环赋给listA的值在字典里不改...
就是,在for循环里每次给listA add()两个值,每次的值不一样,然后把A存进Dictionary<int,List> B;
我希望每次循环赋给list A的值在字典里不改变,也不销毁。
也就是需要字典里有存有不同值的List
我能想到的只有new一堆List,然后每次循环赋值一个存进去。有没有更好的办法 展开
我希望每次循环赋给list A的值在字典里不改变,也不销毁。
也就是需要字典里有存有不同值的List
我能想到的只有new一堆List,然后每次循环赋值一个存进去。有没有更好的办法 展开
1个回答
展开全部
每次只有两个值,这两个值除了添加到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,好的,我会考虑你说的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询