In D, it appears that dynamic arrays (at least by default) use a ulong as their key type. They are declared like this:
```
string[] dynamicArray;
```

I imagine that using a 64-bit value as the key would be slower than using 32 bits or 16 bits, and 64 bits is way overkill for nearly everything. However, if I declare the array as `string[uint] myArray;` or `string[ushort] myArray`, it's treated as an associative array. This means that I don't get to do the things I want to do with a dynamic array, such as appending.

So I have some questions:

Is there a way to declare a dynamic array with a uint, ushort, or ubyte key?

If there was, would it really be faster?

Is an associative array with a ushort key faster than a dynamic array with a ulong key?

Reply via email to