【发布时间】:2019-07-12 09:26:17
【问题描述】:
我有A班、B班和C班。
A 类如下:
public class A
{
public string ColA { get; set; }
}
B 类如下:
public class B
{
public int ColB { get; set; }
public List<A> a { get; set; }
}
C类为:
public class C
{
public int ColC { get; set; }
public ICollection<B> b { get; set; }
}
我的输入数据是:
var ipData = new[]
{
new { ColC = 1, ColB = 101, ColA = "val1" },
new { ColC = 1, ColB = 101, ColA = "val2" },
new { ColC = 1, ColB = 102, ColA = "val3" },
new { ColC = 1, ColB = 102, ColA = "val4" }
};
我无法在 B 类列表下制作 A 类列表。
var objC = new C();
foreach(var data in ipData)
{
objC.ColC = data.ColC;
var objB = new B();
var lstB = new List<B>();
var lstA = new List<A>();
var objA = new A();
objA.ColA = data.ColA;
lstA.Add(objA);
objB = new B { ColB = data.ColB, a = lstA };
lstB.Add(objB);
objC.b = lstB;
}
它将添加第一行数据。但是在第二行要在List<A> 中为val2 添加objA,因为其余数据是相同的。
现在第三行需要在List<B> 中添加objB 以获得新值102 及其对应的objA,即; val3 和 val4。
预期输出是:
Class C
C => 1 , B => 101 , A => val1, val2
B => 102 , A => val3, val4
【问题讨论】:
-
您真的可以显示您希望输出的样子吗?此外,您可能需要先按常用值对数据进行分组。
-
我想将我的 C 类作为模型传递给 view 以传递这些数据。
标签: c# list collections