Use GroupBy() with ToLookup() for Faster Lookups

GroupBy() is powerful but can be inefficient for multiple lookups. ToLookup() offers better performance for repeated accesses.


Problem:

var groups = numbers.GroupBy(n => n % 2);
var evens = groups.First(g => g.Key == 0);
//This iterates multiple times.


Solution:

var lookup = numbers.ToLookup(n => n % 2);
var evens = lookup[0];This avoids unnecessary iterations.