I recently used a Tuple, which is a newish .NET compound key structure. Need to look up something in a data set using 4 keys? You can use a Dictionary with a Tuple key. What if you want to be able to return more than one row for each key? Use a Lookup with a Tuple key.