类列表将多个值分配给字符串列表

时间:2018-10-31 19:44:41

标签: c# list class

this.state = {
  selectProduct: [],
  quantityProduct: [],
  colorsProduct: [],
  stockProduct: [],
  turnaroundProduct: [],
  coatingProduct: [],
  attributeProduct: [],
  attributeMetaProduct: [],
}

我有一个订单列表,其范围可以是1到100。我需要为列表的每个成员分配列表中其他成员的所有“ id”,其中“ orderNumber”是相同的。我想将此分配给字符串“ idList”列表。在订单列表中,可能会有多组具有相同“ orderNumber”的订单。

我试图从逻辑上进行思考,但无法提出可行的解决方案。

我尝试了以下操作:

let myClone = [...this.state.selectProduct]

1 个答案:

答案 0 :(得分:2)

您可以通过orderNumber进行分组,并加入同一组中的id

var result = orders.GroupBy(x => x.orderNumber).Select(g => new orders{
           orderNumber  = g.Key,
           idList = g.Select(x => x.Id).ToList()
          }

但是您实际上并不需要orders的列表,因此最好选择匿名类型:

.Select(g => new {
               orderNumber  = g.Key,
               idList = g.Select(x => x.Id).ToList()
              }

或者只创建一种新的类,如:

FinalOrder类 {      公共字符串orderNumber;      公共列表idList; }

然后:

.Select(g => new FinalOrder{
               orderNumber  = g.Key,
               idList = g.Select(x => x.Id).ToList()
     }