相关疑难解决方法(0)

C#中的收益率是否是线程安全的?

我有以下代码:

private Dictionary<object, object> items = new Dictionary<object, object>;
public IEnumerable<object> Keys
{
    get
    {
        foreach (object key in items.Keys)
        {
            yield return key;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是线程安全的吗?如果不是我必须lock围绕循环或yield return

这就是我的意思:

KeysThread1 访问属性,而Thread2将一个项添加到基础字典.Thread1是否受Thread2的影响?

c# ienumerable yield yield-return

26
推荐指数
3
解决办法
8769
查看次数

标签 统计

c# ×1

ienumerable ×1

yield ×1

yield-return ×1