【发布时间】:2020-09-06 06:24:52
【问题描述】:
大家好,我有如下三个这样的课程
class A
{
public int number{get; set;}
public string name{get; set;}
}
class B
{
public string casted{get; set;}
}
class C
{
public int Id{get; set;}
public bool isSelect {get; set;}
}
我有这样的数据格式
var aObject = new A () { number = 11, name = "John" };
var aObject2= new A () { number = 22, name = "Steve" };
IList<A> ListA= new List<A>(){ aObject,aObject2 };
var bObject1 = new B () { casted = "test" };
var bObject2 = new B () { casted = "test1" };
var bObject3 = new B () { casted = "test2" };
IList<B> ListB = new List<B>(){ bObject1 , bObject2 ,bObject3 };
var cObject = new C() { Id = "1", isSelect = true };
var cObject2 = new C(){ Id = "2", isSelect = false };
IList<C> ListC = new List<C>() { cObject ,cObject2 };
所有的结构都不同,我将在上述类列表中获取数据,如List<A>, List<B> and List<C>
我希望在下面形成一种数据结构,将这三个列表合并为一个,如下所示
我正在寻找的结果列表如下所示。
结果:
Number name casted Id isSelect
11 john test 1 true
22 Steve test1 2 false
- - test2 - -
有什么方法可以实现这种结果对象,我知道如果你有相同的结构,我们可以连接列表,但这里我有不同的结构。
任何人都可以告诉我有关如何实现这一目标的任何想法,非常感谢我提前非常感谢
【问题讨论】:
-
什么逻辑决定这一行是有效的:
1 john test 1 true而不是这个2 Steve test 2 false?只是按订单吗? -
它只是按顺序,在每个列表中我们需要遍历顺序并连接项目
-
看来,你需要类似联合类型的东西,它将添加到future versions of C#
标签: c# .net list linq generics