![]() |
1
2
如果您以相同的方式查看您的代码
在列表示例中,您有一个
在您的字典示例中,您有一个
按照用于列表的方法,您应该有如下字典:
希望能帮上忙(对不起我的英语不好) |
![]() |
2
1
您得到的错误不是因为枚举集合时无法修改字典,这是一个运行时错误。正如错误所说,keyValuePair在value参数上没有setter。所以f1.value==s1.value是不允许的。基本上,keyValuePair是不可变的,因为您不能更改值。 如果您需要这种类型的功能,我建议您创建一个更具体的更新,它专门采用字典而不是IEnumerable。 在解决字典在被枚举时是只读的这一事实方面,我不知道答案。 |
![]() |
3
1
解决这个问题的另一种方法是切换内部类和外部类。需要更新的类应该是内部的,这样可以避免modable集合进入枚举。
谢谢 AndyP和Digemall |
![]() |
Rudiger W. · C#扩展方法中可以有init once变量吗? 11 月前 |
![]() |
Akira Takeshi · 如何用JavaScript编写扩展方法 1 年前 |
![]() |
Aleksandar · 无法调用枚举扩展方法 1 年前 |
![]() |
Codebadger · 将泛型传递给扩展方法 7 年前 |
![]() |
Otman IGHOULASSEN · 从子类调用基类的扩展方法 7 年前 |
![]() |
sirksel · 拳击弦场或扩展Kotlin中所有弦的替代方案? 7 年前 |