Laden...

Liste von Listen deklarieren

Erstellt von Thomas B vor 13 Jahren Letzter Beitrag vor 13 Jahren 863 Views
T
Thomas B Themenstarter:in
223 Beiträge seit 2006
vor 13 Jahren
Liste von Listen deklarieren

Hallo Community,

Ich habe ein kleines Problem. Ich habe eine unbestimmte Menge von Werten, die ich als Index benutzen möchte und zu diesen Indexen gibt es eine eigene Klasse als zu speichernden Wert.
Diese möchte ich als Liste speichern.

Folgendes möchte ich tun:
Über eine Liste meiner Objekte iterieren und dann alle Objekte mit dem Wert 1 (bis x) wieder in eine neue Liste packen, wobei der Index für all diese Objekte 1 (bis n) wäre in der neuen Liste.

Codemäßig soll das so aussehen (scheint mir auch verständlicher als mein Text ^^)


foreach (Object O in MyObjects)
{
    MyNewList[O.MyValue].Add(O);
}

Wie muss ich MyNewList anlegen, damit es funktioniert?

Gruß Thomas

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo Thomas B,

guck dir mal das Dictionary<TKey, TValue> an.
Damit hast du dann deine Key-Value Pair wie du es brauchst.

Mit einer List ist das ganze ein Gefummel.
Wenn du einen Index aus irgendwelchen Gründen auslassen musst dann hast du bei der Liste schon ein Problem.

Gruß
Michael

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Thomas B,

seit .NET 3.5 existieren Extension Methods und LINQ. Das wäre so ein typischer Fall, wo man mit LINQ oder Extension Methods arbeiten könnte. Anstatt Schleifen in Schleifen zu verwenden, kannst du einfach eine Abfrage schrieben. Das vereinfacht das Arbeiten mit Collections enorm. Aber wie michlG schon sagte - es ist ein Gefummel.

zero_x

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo Thomas B,

Wie muss ich MyNewList anlegen, damit es funktioniert?

wenn MyValue vom Typ int ist, einfach als Object [] [] myNewList .

BTW: Nach den Namenskonvetionen sollten Variablen mit einem Kleinbuchstaben beginnen.

herbivore