A C# N-way, Set-Associative Cache