[英]Manipulating data in C# Set operations
我有两个字典在上面进行设置操作。 我将举例说明我在做什么以及我想要达到的目的:
var A = new List<Dictionary<string, int>>();
var B = new List<Dictionary<string, int>>();
A.Add(new Dictionary <string, int> { {"KeyA",1}, {"KeyB", 2} });
A.Add(new Dictionary <string, int> { {"KeyA",3}, {"KeyB", 5} });
B.Add(new Dictionary <string, int> { {"KeyA",6}, {"KeyB", 8}, {"KeyC", 11} });
B.Add(new Dictionary <string, int> { {"KeyA",3}, {"KeyB", 7}, {"KeyC", 15} });
var result = A.Intersect(B, new KeyComparer("KeyA"));
这使我返回了使用KeyA进行交集的A的列表,并得到了一行,分别为{"KeyA",3}, {"KeyB", 5}
。 如果要在交集发生时将B中的{KeyC, 15}
添加到结果中怎么办?
我希望我对这个问题很清楚。
如果我正确理解了您的问题,那么您要在完成交集后向序列添加其他项目...然后,您需要的是Enumerable.Concat
:
var result = A.Intersect(B, new KeyComparer("KeyA"))
.Concat(B.Last().Where(pair => pair.Key == "KeyC"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.