gpt4 book ai didi

c# - 如何让linq将数据从一种形式转换为另一种形式

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

假设我有对象:

public class PaymentHeader
{
public Payee Payee { get; set; }
public List<Payment> Payments { get; set; }
}

public class Payment
{
public int Amount { get; set; }
}

public class Payee
{
public string Name { get; set; }
}

所以一个 PaymentHeader 有一个 Payee 和一个 Payments 列表。

我想要的是将这些数据转换成稍微不同的格式。

所以我在寻找 List<Payee>每个收款人都有一个 List<PaymentHeader>

我开始了:

var data = paymentHeaders.GroupBy(x => x.Payee)

所以在这里我试图获得所有收款人及其相关的 PaymentHeaders。我认为这是正确的起点,但我不知道如何进一步。我想我需要创建一个匿名类型,但不确定如何将收款人放入列表并为每个收款人添加 PaymentHeaders 列表。

谁能帮我解决这个问题。

最佳答案

您需要构建一个类型来保存它,或者使用匿名类型:

var data = paymentHeaders.GroupBy(x => x.Payee)
.Select(g => new { Payee = g.Key, Headers = g.ToList() })
.ToList();

foreach(var d in data)
{
Console.WriteLine("Payee {0} has {1} headers", d.Payee, d.Headers.Count);
}

关于c# - 如何让linq将数据从一种形式转换为另一种形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552634/

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