in

SDT Community Server

SDT Forums, Blogs, Photos server.

wego

Lambda 不支持 yield

今天将 Lambda 与 yield 结合起来使用, 结果编译不通过. (如下)

public IEnumerable<int> DeletedIDs
{
    get
    {
       
        var deletedIDs = new int[]{123, 456};

        Array.ForEach(deletedIDs, i => (yield return i));

    }
}

要写成如下:

public IEnumerable<int> DeletedIDs
{
    get
    {
        
       var deletedIDs = new int[]{123, 456};

       foreach (int deletedID in deletedIDs)
           yield return deletedID;
    }
}

Comments

No Comments
Copyright SDT, 2006-2009. All rights reserved.