首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让linq将数据从一种形式转换为另一种形式

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

Stack Overflow用户
提问于 2013-05-15 04:53:11
回答 1查看 198关注 0票数 1

假设我有对象:

代码语言:javascript
运行
复制
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有一个收款人和一个付款列表。

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

所以我想要一个每个收款人都有一个List<PaymentHeader>List<Payee>

我一开始是这样说的:

代码语言:javascript
运行
复制
var data = paymentHeaders.GroupBy(x => x.Payee)

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

有没有人能帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 04:56:38

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

代码语言:javascript
运行
复制
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);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16552634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档