Collection, die Integer-Wertebereich übersteigt
-
Hallo!
Wenn ich eine Liste von Objekten (Collection oder Array usw.) anlege, dann greife ich auf ein Objekt aus dieser List mit einem Integer Index zu. Wie kann ich eine Liste erstellen, die theorätisch den Integer-Wertebereich übersteigt?
Danke schon mal im Voraus!
-
Also ein array hat einen Member LongLength und funktion GetLongLength also müsste man die auch mit einem Long initialisieren und abrufen können. Sind wohl einfach überladene Funktionen...
-
LongLength gibt die Anzahl aller Elemente in allen Dimensionen wieder, es gibt aber keine Möglichkeit ein Element mit einem Index der außerhalt des Integer-Wertebereichs liegt zuzugreifen.
Ich habe einmal gehört, dass man in Fällen, wie in meinem (auch in Datenbanken) meist eine Klasse aufbaut, die so aussieht (angenommen wir brauchen eine String collection):
public class StringCollection { private StringCollection Previous; // das vorhergehende Element private string Content; // der Inhalt private StringCollection Next; // das nächste Element // ctor // accessors }Ist das die einzige Möglichkeit eine "unendliche" Liste zu erstellen, oder gibt es da noch eine andere?
-
-
MSDN-Leser schrieb:
MSDN schrieb:
LinkedList Class (System.Collections.Generic)
Represents a doubly linked list.
grüße
Man kann nicht einfach eine LinkedList nehmen. Vielleicht ist eine LinkedList gerade nicht die geeignete Datenstruktur.
Trotzdem bin ich jetzt neugierig. Inwiefern reichen dir 2 Milliarden Einträge pro Dimension nicht aus? Wenn du mit solchen Datenmengen hantierst, solltest du vielleicht eine Datenbank verwenden.
es gibt aber keine Möglichkeit ein Element mit einem Index der außerhalt des Integer-Wertebereichs liegt zuzugreifen.
Also bei einem Array geht es schon mal definitiv.
-
MSDN-Leser schrieb:
MSDN schrieb:
LinkedList Class (System.Collections.Generic)
Represents a doubly linked list.
grüße
Danke! Das ist zwar in gewisser Weise genau was ich suche, jedoch wird es erst ab .NET 2.0 unterstützt. Ich habe zwar VS2005 schon, aber ich muss mein Programm vor dem Herbst herausbringen.
Optimizer schrieb:
Trotzdem bin ich jetzt neugierig. Inwiefern reichen dir 2 Milliarden Einträge pro Dimension nicht aus? Wenn du mit solchen Datenmengen hantierst, solltest du vielleicht eine Datenbank verwenden.
Es geht dabei um Text. Es könnte sein, dass der Text, den ich laden muss mehr als 2 Milliarden Chars hat. Also wie soll ich so einen Text behandeln außer mit einer LinkedList? - eine Datenbank wäre hier glaube ich übertrieben und ineffizient.
-
2GB Text? Musst du den denn wirklich laden? Reicht es nicht vielleicht, ihn in kleinen, vielleicht 10MB Protionen zu laden und zu bearbeiten?
-
tommazzo schrieb:
eine Datenbank wäre hier glaube ich übertrieben und ineffizient.
Das glaub ich bei zwei GB Text bestimmt nicht.
-
Vorgesehen ist es in meinem Programm sowieso nicht, so große Mengen an Text zu verwenden. Ich wollte nur für alle Fälle bereit sein, aber wahrscheinlich ist das sinnlos, wer hat schon mehr als 2GB RAM?

Danke für die Hilfe und das Klarmachen, dass meine Idee vielleicht etwas unsinnig war :).