相关疑难解决方法(0)

收益率为零

有没有办法可选地返回一个带有"return yield"驱动迭代器的null?

我想在某些情况下返回null,我不认为这是IEnumerable类型字符串的特殊情况.同样适用于类型为int等的IEnumerable.谢谢

static void Main(string[] args)
{
    var Items = GetItems();

    if (Items != null)
    {
        foreach (var item in Items)
        {
            Console.WriteLine(item);
        }
    }
    else
    {
        Console.WriteLine("<null>");
    }
}

static IEnumerable<string> GetItems()
{
    if (false)
    {
        yield return "Andy";
        yield return "Jennifer";
    }

    return null; // <- Compiler Error:
    // Cannot return a value from an iterator. 
    // Use the yield return statement to return a value,
    // or yield break to end the iteration.
}
Run Code Online (Sandbox Code Playgroud)

c#

32
推荐指数
5
解决办法
2万
查看次数

标签 统计

c# ×1