读书人

这个用法的用心是什么呢

发布时间: 2013-06-26 14:29:32 作者: rapoo

这个用法的用意是什么呢?
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
[解决办法]
一样的,只不过起了两个不同的名字

如下,可能会好理解一点

var rtcccms1 = ccms1.Union(ccms2).ToDictionary(delegate(KeyValuePair<string, string> a) { return a.Key; }, delegate(KeyValuePair<string, string> a) { return a.Value; });

[解决办法]
无区别~~~~~~

只是lambe声明而已
[解决办法]
如果你对delegate 和 lambda表达式不是很清楚的话,可以先补这方面知识。

如果都理解了,那么都上的解答应该也可以了。
[解决办法]
1楼已经解释的蛮清楚了 就是lambda表达式命名而已

读书人网 >C#

热点推荐