C# 如何将多个IEnumerable列表组合在一起
我有一个类(ClassA)具有IEnumerable属性。然后我有了另一个具有相同属性的类(ClassB)。他们共享一个接口(InterfaceA)。ClassB基本上是多个ClassA的容器类。如何实现ClassB的属性C# 如何将多个IEnumerable列表组合在一起,c#,linq,ienumerable,C#,Linq,Ienumerable,我有一个类(ClassA)具有IEnumerable属性。然后我有了另一个具有相同属性的类(ClassB)。他们共享一个接口(InterfaceA)。ClassB基本上是多个ClassA的容器类。如何实现ClassB的属性 interface InterfaceA { IEnumerable<int> MyInts { get; } } class ClassA : InterfaceA { public IEnumerable<
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);
}
}
}
接口a
{
可数粘菌
{
得到;
}
}
A类:接口A
{
公共可数myint
{
得到;
私人设置;
}
}
B类:接口A
{
ClassA[]classAs=新的ClassA[10];
公共可数myint
{
得到
{
//这里有什么?
classAs.SelectMany(classA=>classA.MyInts);
}
}
}
我尝试使用LINQ select语句,但不起作用
编辑:
看起来我看起来不够努力。答案就在这个问题上。
编辑2:
包括为我工作的示例代码,以备其他人需要。public IEnumerable MyInts
public IEnumerable<int> MyInts
{
get
{
foreach (ClassA c in classAs)
{
foreach (int i in c.MyInts)
{
yield return i;
}
}
}
}
{
得到
{
foreach(classAs中的A类和c类)
{
foreach(以c.MyInts表示的整数i)
{
收益率i;
}
}
}
}
只需添加我的答案,这样就不会没有答案
classAs.SelectMany(classA=>classA.MyInts)
从中找到此项。这是否回答了您的问题?