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]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

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