c# - 如何为单个项目返回 IEnumerable<T>

标签 c# .net linq ienumerable yield-return

我有一个函数可以返回项目列表或单个项目,如下所示(伪代码)

IEnumerable<T> getItems()
{
    if ( someCondition.Which.Yields.One.Item )
    {
        List<T> rc = new List<T>();
        rc.Add(MyRC);

        foreach(var i in rc)
            yield return rc;
    }
    else
    {
        foreach(var i in myList)
            yield return i;
    }
}

第一部分看起来有点笨拙,希望使其可读

最佳答案

IEnumerable<T> getItems()
{
    if ( someCondition.Which.Yields.One.Item )
    {
        yield return MyRC;
    }
    else
    {
        foreach(var i in myList)
            yield return i;
    }
}

关于c# - 如何为单个项目返回 IEnumerable<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9702893/

相关文章:

c# - DevOps for ASP.NET MVC : Running a web. 在构建和打包后,在单独的步骤中进行配置转换

c# - Windows Phone PhoneGap 应用后退按钮问题

C# 具有多个值的相同枚举名称

c# - 通过 LINQ Select 调用生成新线程是否是错误代码?

c# - 在 NHibernate where 子句中选择 Guid 范围

c# - 最终用户将值添加到下拉列表中?

c# - 从 .NET 服务打印

c# - 包含 CDATA 属性的 XML 的序列化/反序列化问题

c# - 如何将用作按钮的禁用 PictureBox 变灰?

c# - 我想在 linq 中添加 2 个月后的月份和年份