Data structure implementations in C#