C#中的LINQ合并两个词典 [英] C# Linq merge two dictionaries
本文介绍了C#中的LINQ合并两个词典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使以下方法更多的功能,LINQ风格
公共静态字典< T,T> MergeDict< T,T>(词典< T,T> A,字典< T,T> B)
{
变种E =新词典< T,T>();
a.Concat(B).ToList()的ForEach(对= GT;
{$ B $是[pair.Key] = pair.Value;
}) ;
返回电子邮件;
}
解决方案
要继续重复的丢弃方式,同比增长只是小组,并采取组中的获胜项目(如最后一个)。
first.Concat(二)
.GroupBy(KVP = GT; kvp.Key,KVP = GT; kvp.Value)
.ToDictionary(G => g.Key,G => g.Last());
How to make the following method more functional-linq-style?
public static Dictionary<T, T> MergeDict<T, T>(Dictionary<T, T> a, Dictionary<T, T> b)
{
var e = new Dictionary<T, T>();
a.Concat(b).ToList().ForEach(pair =>
{
e[pair.Key] = pair.Value;
});
return e;
}
解决方案
To continue your duplicate discarding ways, just group up and take a winning item in the group (such as the Last one).
first.Concat(second)
.GroupBy(kvp => kvp.Key, kvp => kvp.Value)
.ToDictionary(g => g.Key, g => g.Last());
这篇关于C#中的LINQ合并两个词典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文