gpt4 book ai didi

c# - 用 linq 分组;但有条件

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

我无法思考如何对这些类的列表进行分组。

public class Order
{
public int OrderId { get; set; }
public long OrderClassId { get; set; }
public int OrderTypeId { get; set; }
public int OrderSubTypeId { get; set; }
public string OrderString { get; set; }
//.. other Order stuff not relevant to question
}

我理解的基本分组。它看起来像这样(假设 orders 是一个 List<Order> ):

var orderGroups = orders.GroupBy(x=>x.OrderClassId);

// Code to assign a unique OrderString to each group goes here

但是,具有相同 OrderClassId 且 OrderTypeId 为 123 且具有相同 OrderSubTypeId 的订单需要具有不同的 OrderString 值。

这有点令人困惑,所以这里有一个例子:

var order1 = new Order
{
OrderId = 1,
OrderClassId = 8754,
OrderTypeId = 123,
OrderSubTypeId = 7156
};

var order2 = new Order
{
OrderId = 2,
OrderClassId = 8754,
OrderTypeId = 123,
OrderSubTypeId = 7156
};

var order3 = new Order
{
OrderId = 3,
OrderClassId = 8754,
OrderTypeId = 951,
OrderSubTypeId = 35144
};

根据我的分组,所有这些都将得到相同的 OrderString .但我需要 order2得到一个不同的OrderString .

这可以使用 linq 吗?还是我只需要遍历所有行并手动分隔符合我的条件的行。

最佳答案

使用匿名类型,例如:

var orderGroups = orders.GroupBy(x => new {Property1, Property2});

关于c# - 用 linq 分组;但有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7743403/

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