While using dictionary, i always override GetHashCode and Equals ( or provide a custom comparer to the dictionary).
What happens behind the covers when i create an anonymous class as key?
Sample Code....
var groups=(from item in items
group item by new { item.ClientId, item.CustodianId, item.CurrencyId }
into g
select new {
Key=g.Key,
Sum=g.Sum(x => x.Cash)
}).ToDictionary(item=>item.Key,item=>item.Sum);
This code gives me the expected result, but i am not providing GetHashCode and Equals method for the anonymous class. Shouldn't this code fail to group my items on the basis of items in anonymous class??