C# - 从现有词典创建列表

时间:2009-12-09 23:08:40

标签: c# list dictionary synchronization

我有一个包含字符的Dictionary<>集合。该集合具有多个线程不断添加和删除的项目。使用字典初始化新的List<>集合需要锁吗?

示例代码:

List<Character> charsToUpdate = new List<Character>(this.manager.characters.Values);

1 个答案:

答案 0 :(得分:7)

是。使用此构造函数构造List<T>时,它会枚举Dictionary。这不是线程安全的。

确保同步(锁定)对字典的访问,以及添加和删除字典的“众多线程”。