Datenpaare in .Net welche Möglichkeiten gibt es?
-
Hallo, ich habe folgendes Szenario:
Ich bekomme von einer Hardware Messdaten und einen Fehlercode. Diese wollte ich ich in Form von Paaren in einer Liste ablegen. Ich hatte erst folgende Variante gefunden.
Dictionary<long,Byte>^ Values
Aber bei Dictionary darf ja jeder Schlüssel nur 1x vorkommen also ist dies eher nicht für meinen Fall geeignet. Bietet .net da Möglichkeiten Datenpaare in einer Liste abzulegen?
Oder muss ich mir selber eine kleine Klasse schreiben, die 2 Werte nimmt. Und eine Liste mit diesem Typ erzeugen?
-
Irgendwann in Zukunft kommen dann Tupel.
Fürs erste musst Du dir aber selbst eine Struktur machen, die Du dann in einer List<T> speicherst.Simon
-
Ausweichshalber gibt es das KeyValuePair<T,U> - bissl viel zu schreiben wenn man eigentlich nur ein "Pair" will, aber gut.
-
Also könnte ich ein Generic List<KeyValuePair<T,U>> verwenden?
Und da müssen die Keys dann nicht eindeutig sein in der Liste?Gibt es denn in .Net noch keine Tupelimplementation? So würde meine oben
Angeführte Idee mit der Miniklasse aussehn. Oder würdet ihr das anders machen?public class Tuple { public Tuple(unsigned long value,Byte errorcode) { this.value = value; this.errorcode = errorcode; } public long value { get; set; } public Byte errorcode { get; set; } }
dann so
List<Tuble>...
-
ev. ein value type verwenden.
-
Du wirst Dein Messdaten ja mit Sicherheit weiterverarbeiten.
Ich würde mir Gedanken machen wie viele Daten es werden können, was für Suchkriterien Du verwenden willst, nach was Du suchen willst und ob Du ein Sortierkriterium hast oder brauchst. Dann würde ich erst die Datenstruktur festlegen, damit Du im Nachhinein das ganze nicht mehr umändern mußt.
List eigenet sich meiner Meinung nach für die Suche nicht so gut, wenn Du viele Daten hast.