2 Stimmen

Was ist der beste Weg, um eine unfixed multi-deminsional Array in C#.NET zu implementieren?

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X