Hallo zusammen
Ich soll ein 5-dimensionales Array erstellen, wobei 2 dimensionen keine bestimmte Länge besitzen.
Irgendwie bringe ich es nicht fertig. Im Netz findet man höchstens 2-dimensionale Array und diese Versionen (von msdn oder galileo etc.) funktionieren bei mir irgendwie nicht.
kann mir jemand erklären, wie ich so ein Array erstelle?
Vielen Dank für eure Hilfe
Hallo,
verwende statt einem mehrdimensionalen Array ein jagged Array.
Das ist sozusagen ein Array von Arrays. Dadurch ist die Dimension jeder Zeile unabhängig voneinander.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Willst du das in diese Richtung?
int[, , , ,] test;
test[0, 0, 0, 0, 0] = 1;
test[0, 0, 0, 0, 1] = 2;
genau so sollte es werden aber muss man das Array nicht zuvor noch initialisieren?
etwa so:
int[, , , ,] test = new int[10, 20, 30, 40, 50]; //<-Das geht
int[, , , ,] test2 = new int[, , 30, 40, 50]; //So möchte ich es (geht nicht)
Bist du dem Link von gfoidl gefolgt?
Ist wohl ein rhetorische Frage von dir?
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
ja. leider fehlt auch dort wieder der ansatz des dynamischen Arrays.
hab mal versucht ein jagged Array aus ArrayLists zu machen. bin aber leider gescheitert
Hallo chanderegg,
ja. leider fehlt auch dort wieder der ansatz des dynamischen Arrays.
warum? Es ist doch beschrieben, wie Arrays verschiedener Längen verwendet werden.
hab mal versucht ein jagged Array aus ArrayLists zu machen. bin aber leider gescheitert
ArrayList
solltest du durchList<T>
ersetzen. s. List<T> statt ArrayList?.
m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
warum? Es ist doch beschrieben, wie Arrays verschiedener Längen verwendet werden.
ja aber nicht wie eins mit unbestimmter länge definiert wird. deshalb brauche ich ja arrayList oder eben wie empfohlen List<>.
kann mir jemand erklären wie ich diese Listobjekte miteinander verknüpfe? Wird bei 5 Dimensionen verdammt kompliziert.
Hallo chanderegg,
wieso kompliziert?
List<List<List<List<List<T>>>>>
herbivore
Hallo chanderegg,
hier ein Beispiel was du hoffentlich verstehst:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication14
{
class Program
{
static void Main(string[] args)
{
List<List<string>> meineliste = new List<List<string>>();
meineliste.Add(new List<string>());
meineliste.Add(new List<string>());
meineliste[0].Add("Hallo");
meineliste[1].Add("chanderegg");
Console.Write(meineliste[0][0] + " " + meineliste[1][0]);
Console.ReadLine();
}
}
}
Viele Grüße
Kaji
genau so sollte es werden aber muss man das Array nicht zuvor noch initialisieren?
etwa so:
C#-Code: int[, , , ,] test = new int[10, 20, 30, 40, 50]; //<-Das geht int[, , , ,] test2 = new int[, , 30, 40, 50]; //So möchte ich es (geht nicht)
Schuldinugn das ich diesen Post noch mal aufgreife.
Das das nicht Funktioniert liegt daran das du im unteren Bsp. nicht allen Dimensionen eine größe gibst.
int[, , , ,] test2 = new int[1,1, 30, 40, 50];
So sollte es funktionieren.
Das weiß der das es deswegen nicht ging. Lies doch einfach die Zeile drüber dort hat er es doch mit
int[, , , ,] test = new int[10, 20, 30, 40, 50]; //<-Das geht
versucht. Jetzt kommst du an und sagst so hie rgeht es:
int[, , , ,] test2 = new int[1,1, 30, 40, 50];
Soll das ein Witz sein? Den versteh ich nämlich nicht.
Aber zu der eigentlichen Frage wie man eine Array mit 5 Dimensionen erstellt wobei dir länge einzellner Dimensionne variabel ist, hat herbivore doch die optimale Lösung gegeben.
List<List<List<List<List<T>>>>>
Again what learned...
Nein das soll kein Witz sein. Und das er auch schon eine Lösung gefunden hat weis ich auch.
Es ging mir einfach nur darum das ich nur kurz erläutern wollte warum der Code nicht Funktioniert.