c#如何将数据添加到现有集合项中

问题描述

我正在尝试向现有列表项添加数据。目前我有两个不同的集合。这是我正在使用的以及我正在努力实现的目标的一个子集。

List<Products> products = new List<Products>();
List<Fitment> fitment = new List<Fitment>();


  class Fitment
{

    public string Sku { get; set; }
    public string Model { get; set;  }
    public string Years { get; set; }
  
}

class Products
{

    public string Sku { get; set; }
    public string Price { get; set;  }
    public string vendor { get; set; }
  
}

我需要做的是匹配配件列表中的 SKU 并将其添加到产品列表中具有相同 SKU 的项目中。一个产品可以有多个配件(例如,用于多辆车的汽车座椅)。产品列表有 100k+ 项,配件列表有 400k+ 项,所以我正在寻找最快的方法来做到这一点。我尝试了几种方法,这些方法的处理时间非常长。最快的方法是什么?

解决方法

我解决了我的问题。我将产品切换到字典并使用它来将配件数据添加到产品数据中

productFitment.ForEach(fitment =>
           {
               if (dicProducts.ContainsKey(fitment.Sku))
                   dicProducts[fitment.Sku].ProductFitment.Add(fitment);
               else
                   Console.WriteLine(fitment.Sku);

           });