繁体   English   中英

如何将多个IEnumerable列表组合在一起

[英]How to I combine multiple IEnumerable list together

我有一个具有IEnumerable属性的类(ClassA)。 然后我有另一个具有相同属性的类(ClassB)。 他们正在共享一个接口(InterfaceA)。 ClassB基本上是多个ClassA的容器类。 如何为ClassB实现该属性。

interface InterfaceA
{
    IEnumerable<int> MyInts
    {
        get;
    }
}

class ClassA : InterfaceA
{
    public IEnumerable<int> MyInts
    {
        get;
        private set;
    }
}

class ClassB : InterfaceA
{
    ClassA[] classAs = new ClassA[10];
    public IEnumerable<int> MyInts
    {
        get
        {
            //What goes here ?
            classAs.SelectMany(classA => classA.MyInts);
        }

    }
}

我尝试使用LINQ select语句,但这不起作用。

编辑:看起来我看起来不够努力。 答案就在这个问题上。 如何聚合T的多个IEnumebles

编辑2:包含适合我的示例代码,包括其他人需要它。

只是添加我的答案,所以这没有答案。

classAs.SelectMany(classA => classA.MyInts);

这个问题找到了这个。

        public IEnumerable<int> MyInts
        {
            get
            {
                foreach (ClassA c in classAs)
                {
                    foreach (int i in c.MyInts)
                    {
                        yield return i;
                    }
                }
            }

        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM