gpt4 book ai didi

c# - 如何将数据表记录转换为自定义类?

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:13 25 4
gpt4 key购买 nike

我有如下记录的数据表

Columns -> A B C D E 
Rows-> 1 2 3 X Y
1 2 3 P Q

我希望将此数据表转换为我的自定义列表,如下所示

MyClass
{
int A
int B
int C
List<ChildClass>
}

ChildClass
{
String D
String E
}

我正在使用以下代码来制作它,但我在子类之间停留了。请帮忙?

IList<MyClass> items = dt.AsEnumerable().Select(row => 
new MyClass
{
A= row.Field<int>("A"),
B= row.Field<int>("B"),
C= row.Field<int>("C"),
}).ToList();

最佳答案

你应该使用 GroupBy .类似于以下内容。

IList<MyClass> items = dt.AsEnumerable().GroupBy(
row =>
new
{
A = row.Field<int>("A"),
B = row.Field<int>("B"),
C = row.Field<int>("C"),
},
(key, values) =>
new MyClass
{
A = key.A,
B = key.B,
C = key.C,
Children = values.Select(row =>
new ChildClass
{
D = row.Field<string>("D"),
E = row.Field<string>("E"),
}).ToList()
}).ToList();

在您的示例中,这将产生一个 MyClass 对象(属性值为 1、2、3),其中包含两个 ChildClass 对象(属性值为 X, Y和P,Q分别)。

关于c# - 如何将数据表记录转换为自定义类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18879817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com