c# - Linq Distinct() or GroupBy() method is not working in below scenario -


in below code have multiple instance of dictionary bundled list. want select distinct values list. tried using distinct , group by never helped me. can 1 please me in selecting distinct using linq?

 ilist<dictionary<string, string>> lst = new list<dictionary<string, string>>();             dictionary<string, string> d = new dictionary<string, string>();             dictionary<string, string> d1 = new dictionary<string, string>();             dictionary<string, string> d3 = new dictionary<string, string>();             d.add("12345", "xyz");             d1.add("12345", "xyz");             d3.add("123456", "xyz-abc");             lst.add(d);             lst.add(d1);             lst.add(d3);             var result = lst.distinct(); //test => test.values.tostring().trim()); //.select(grp => grp.first()); 

if distict values on dictionaries need compare acctual elements in each dictionary select elements use selectmany this:

key/value pairs:

var result = lst.selectmany(x=>x).distinct(); 

values:

var result = lst.selectmany(x=>x.values).distinct(); 

keys:

var result = lst.selectmany(x=>x.keys).distinct(); 

Comments