ToLookup方法
1、必须是实现了IEnumerable接口对象才可以调用该方法,通过ToLookup方法,返回的是ILookup
筛选KeyValuePair
访问这个这个值是可以用索引访问 lookup[“T1”],访问key可以遍历元素时候,用 元素的key来访问。
另外:ILookup
如下例子
Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("1", "a"); dic.Add("2", "b"); dic.Add("3", "c"); dic.Add("4", "a"); ILookup<string,KeyValuePair<string,string>> lookups = dic.ToLookup(a => a.Value); foreach(var i in lookups["a"]) Console.WriteLine(i); foreach(var i in lookups) { Console.WriteLine(i.Key); } Listlist = new List () { new person("a",1),new person("b",2),new person("c",3)}; ILookup<int,person> ilookup = list.ToLookup(a => (a.name == "a" || a.name == "b") ? a.age : -1); foreach(var item in ilookup) { Console.WriteLine(item.Key ); Console.WriteLine(ilookup[item.Key]); foreach(var item1 in ilookup[item.Key]) { Console.WriteLine(item1.name); } } foreach (person item in ilookup[1]) { Console.WriteLine(item.name); // Console.WriteLine(ilookup[item]); }