Feedback

C# - Mehrimensionales Array durch iterieren

Veröffentlicht von am 5/7/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.
//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 5/22/2013:
Cool!
 

Logge dich ein, um hier zu kommentieren!