Unity_C# Dictionary 的引用问题

这个系列是专门针对一些新司机上路不知道有哪些坑需要避免。那么这里友情提供具有价值的信息。让新司机提前知道前方有坑,及时避免。。可可。

这一期说一说 c# 中 字典的引用问题。


//栗子

Dictionary<int,string> testDic_1 = new Dictionary<int,string>{ {0,"a"} ,{1,"n"} ,{2,"d"} ,{3,"4"}  };

Dictionary<int,string> testDic_2 = new Dictionary<int ,string>();

testDic_2 = testDic_1;

//以上testDic2 会完全等于 testDic_1;包括内存地址也会复制过来。也就是说当我对testDic_2进行操作时,testDic_1也会被改变。不向 list .当你new一个的时候会新开辟一个内存。

如果你只想要字典里的数据,并且只是一次性的使用。那么要怎么做才能避免掉这样情况。

IDictionary testDic_2 =newDictionary();

foreach(KeyValuePair kvp in testDic_1){  testDic_2.Add(kvp); }

//ok ..感觉这个方法就是弱智,一般情况是不会对字典进行2级引用的。没有必要。因为字典本身是无序的。他只是根据key去取值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,029评论 25 708
  • 1. [C#语言基础]请简述拆箱和装箱。 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何...
    胤醚貔貅阅读 4,868评论 1 29
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • 或许太阳可以借来,或许月光可以借来,但山顶上的平地绝对借不来。 风可以借来,雨可以借来,但山顶上的平地,不一定借得...
    李一十八阅读 720评论 0 2
  • 【点评】: 1、今天早上有12位小伙伴打卡了,太棒了,为你们的自觉赞一个,成长是自己的事情你能做到什么程度,看自己...
    Up_风雨阳光阅读 514评论 0 0