Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并两个列表_C#_.net_List_Merge_Compare - Fatal编程技术网

C# 合并两个列表

C# 合并两个列表,c#,.net,list,merge,compare,C#,.net,List,Merge,Compare,我有两个测试列表,其中一些包含属性(键、值)。 让我们把它们称为list-A和list-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

我有两个测试列表,其中一些包含属性(键、值)。 让我们把它们称为
list-A
list-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);
      }
    }
  }
}  
可能重复的