Dictionary<string, string> ccms1 = new Dictionary<string, string>();
    ccms1.Add("1","001");
    ccms1.Add("2", "002");
    Dictionary<string, string> ccms2 = new Dictionary<string, string>();
    ccms2.Add("11", "0011");
    ccms2.Add("2", "0022");
    var rtcccms1 = ccms1.Union(ccms2).ToDictionary(a => a.Key, b => b.Value);和       Dictionary<string, string> ccms1 = new Dictionary<string, string>();
    ccms1.Add("1","001");
    ccms1.Add("2", "002");
    Dictionary<string, string> ccms2 = new Dictionary<string, string>();
    ccms2.Add("11", "0011");
    ccms2.Add("22", "002");
    var rtcccms1 = ccms1.Union(ccms2).ToDictionary(a => a.Key, a => a.Value);为什么用的是ToDictionary(a => a.Key, b => b.Value);
而不是ToDictionary(a => a.Key, a => a.Value);
有什么区别吗?Dictionary

解决方案 »

  1.   

    一样的,只不过起了两个不同的名字如下,可能会好理解一点var rtcccms1 = ccms1.Union(ccms2).ToDictionary(delegate(KeyValuePair<string, string> a) { return a.Key; }, delegate(KeyValuePair<string, string> a) { return a.Value; });
      

  2.   

    无区别~~~~~~只是lambe声明而已
      

  3.   

    如果你对delegate 和 lambda表达式不是很清楚的话,可以先补这方面知识。如果都理解了,那么都上的解答应该也可以了。
      

  4.   

    1楼已经解释的蛮清楚了  就是lambda表达式命名而已