Zum Beispiel: ein Array von Arrays unterschiedlicher Länge mit ganzen Zahlen.
In C++ sind wir es gewohnt, Dinge zu tun wie:
int * * TwoDimAry = new int * [n] ;
for ( int i ( 0 ) ; i < n ; i ++ )
{
TwoDimAry[i] = new int [i + n] ;
}
In diesem Fall, wenn n == 3
dann wäre das Ergebnis ein Array mit drei Zeigern auf Arrays von Ganzzahlen und würde wie folgt aussehen:
http://img263.imageshack.us/img263/4149/multidimarray.png
Natürlich sind .NET-Arrays verwaltete Sammlungen, so dass Sie sich nicht mit der manuellen Zuweisung/Löschung befassen müssen.
Aber eine Erklärung:
int[][] TwoDimAry ;
... in C# scheint nicht den gleichen Effekt haben - nämlich, Sie haben zu innitialize ALL der Sub-Arrays zur gleichen Zeit, und Sie haben die gleiche Länge sein.
Ich brauche meine Sub-Arrays unabhängig voneinander zu sein, wie sie in nativen C++ sind.
Wie lässt sich dies am besten mit verwalteten Sammlungen umsetzen? Gibt es irgendwelche Nachteile, die ich beachten sollte?