相关疑难解决方法(0)

yield语句中的yield返回

如果我在一个锁定语句中有一个收益率回报,锁定会在每个收益率上取消(在下面的例子中为5次),或者只对列表中的所有项目取消一次?

谢谢

    private List<string> _data = new List<string>(){"1","2","3","4","5"};
    private object _locker =new object();
    public IEnumerable<string> GetData()
    {
        lock (_locker)
        {
            foreach (string s in _data)
            {
                yield return s;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# locking yield-return deferred-execution

21
推荐指数
3
解决办法
3178
查看次数

标签 统计

c# ×1

deferred-execution ×1

locking ×1

yield-return ×1