Feedback

C# - Mehrimensionales Array durch iterieren

Veröffentlicht von am 07.05.2013
(3 Bewertungen)
Viele kennen die Methode GetLength nicht. Mithilfe dieser Methode kann man einfach die Länge einer Dimension eines Arrays ausfragen.


MSDN Dokumentationen:
GetLowerBound: http://msdn.microsoft.com/de-de/library/system.array.getlowerbound.aspx
GetUpperBound: http://msdn.microsoft.com/de-de/library/system.array.getupperbound.aspx
GetLength: http://msdn.microsoft.com/de-de/library/system.array.getlength.aspx

Dieses kleine Snippet geht alle Elemente eines solchen Mehrdimensionalen Arrays durch. Das einzige was man natürlich wissen muss, ist die Anzahl der Dimensionen.
Snippet in VB übersetzen
//2 Dimensionen
//2-Dimensionales Array anlegen, kann eine beliebige Größe und einen beliebigen Typ haben
int[,] obj2 = new int[10, 20];

//Alle Elemente durchgehen und zuweisen
for (int x = obj2.GetLowerBound(0); x < obj2.GetLength(0); ++x)
    for (int y = obj2.GetLowerBound(1); y < obj2.GetLength(1); ++y)
        obj2[x, y] = x * y;


//3 Dimensionen
//3-Dimensionales Array anlegen, kann eine beliebige Größe und einen beliebigen Typ haben
int[, ,] obj3 = new int[10, 20, 30];

//Alle Elemente durchgehen und zuweisen
for (int x = obj3.GetLowerBound(0); x < obj3.GetLength(0); ++x)
    for (int y = obj3.GetLowerBound(1); y < obj3.GetLength(1); ++y)
        for (int z = obj3.GetLowerBound(2); z < obj3.GetLength(2); ++z)
            obj3[x, y, z] = x * y * z;

1 Kommentare zum Snippet

Of schrieb am 22.05.2013:
Cool!
 

Logge dich ein, um hier zu kommentieren!