Ich habe eine gezackte Array deklariert als:C# Jagged Array: außerhalb der Grenzen des Arrays Ausgabe
char[][] m = new char[10][];
Später es bevölkert ist.
System.Text.StringBuilder s = new System.Text.StringBuilder(c);
for (int x = 0; x < 10; x++)
s.Append('=');
for (int x = 0; x < 10; x++) m[x] = s.ToString().ToCharArray();
Wenn ich die folgenden Operationen ausführen, bekomme ich einen Fehler auf der zweiten Dimension:
Console.WriteLine(String.Format("width={0}", m.GetLength(0)));
Console.WriteLine(String.Format("height={0}", m.GetLength(1))); <---- ERROR HERE
Irgendwelche Ideen?
Es ist ein gezacktes Array, kein quadratisches Array (das Sie mit 'char [,] maz') deklarieren. Jedes Unterfeld wird eine andere Länge haben. das überprüfen Sie mit 'maz [index] .Length'. – Abion47
Verwenden Sie nicht ['GetLenght()'] (https://msdn.microsoft.com/en-us/library/system.array.getlength (v = vs.110) .aspx), sondern ['Length' ] (https://msdn.microsoft.com/en-us/library/system.array.length (v = vs.110) .aspx) eines einzelnen Elements des ersten Arrays. – Sinatr