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.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

//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!