合并两个列表

本文关键字:两个 列表 合并 | 更新日期: 2023-09-27 18:30:49

我有两个测试列表,其中一些包含属性(键,值)。让我们称它们为list-Alist-B

我想执行以下操作(仅在list-B):

1) 添加list-A具有和list-B没有的测试(具有所有属性)。

2)添加list-A拥有和list-B没有的属性

3) 删除list-B拥有和list-A没有的属性

如何在 C# 中以小于 4/5 的 for 循环做到这一点?

合并两个列表

如果我理解你的问题,只需要两个循环......但是什么是属性,什么是您案例中的测试?键是测试,值是属性?

foreach(type key in a.keys)
{
  //a1 I think. adds a key not in b
  if(!b.ContainsKey(key))
  {
    b.Add(key, a[key]);
  }
  else
  {
    //a2 I think... I suppose that the value is a list of properties
    foreach(type prop in a[key])
    {
      if(!b[key].Contains(prop))
      {
        b[key].Add(prop);
      }
    }
  }
}