Dictionary Union to dictionary?
本问题已经有最佳答案,请猛点这里访问。
在我的代码里我有一行
1 | var d3 = d.Union(d2).ToDictionary(s => s.Key, s => s.Value); |
这感觉很奇怪,因为我很可能会这么做。没有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var list = new List<Tuple<int, string>>(); list.Add(new Tuple<int, string>(1,"a")); list.Add(new Tuple<int, string>(3,"b")); list.Add(new Tuple<int, string>(9,"c")); var d = list.ToDictionary( s => s.Item1, s => s.Item2); list.RemoveAt(2); var d2 = list.ToDictionary( s => s.Item1, s => s.Item2); d2[5] ="z"; var d3 = d.Union(d2).ToDictionary(s => s.Key, s => s.Value); } } } |
号
使用"直的"
如果您的字典没有重复的键,这应该工作得更快一些:
1 | var d3 = d.Concat(d2).ToDictionary(s => s.Key, s => s.Value); |
注意,如果两个字典包含具有不同值的同一个键,那么