Does .NET have anything similar to Perl arrays, which are indexed numerically but automatically expand as needed? It would work like this:
var x = new DreamArray<string>();
x[6] = "foo"; // x automatically has 7 elements
x[10] = "bar"; // now it has 11