1. 在unity或vs中,如果想检验字典是否为空,dictionary == null 是行不通的,但它也不会提示你,正确写法应该是 dictionary.count ==0
2.如果你想遍历字典然后再赋值的话,不要用foreach,用for,for (int i=0; i< dict.Count; i++)这样写就好,不然就会报错
InvalidOperationException: Collection was modified; enumeration operation may not execute.
虽然我不懂这是什么意思,嗯
3.无论你要遍历什么,只要是检测有没有重复或者往列表加东西,势必要想想每一步循环所执行的代码,特别是放在update中,因为很有可能你想的循环跟实际运行的循环差得很远,然后就有很多莫名其妙的坑等着你
1. dictionary是一个对象,对象没有实例化之前,是null;实例化之后,即使里面没有放东西,也没有null
所以你要检测dictionary里面有没有东西,需要检查他的count是否等于0
2. foreach(A a in dict) { //赋值}
foreach的时候,in dict,dict是不能改变的。你在赋值的时候改变了dict,所以就报错了。
3. 哈哈,这个的逻辑只能开发的时候多想多考虑,多用debug工具
@burntpancakebhaal:哦哦原来是这样,感谢大大解惑了哈!