Laden...

Doppelte Einträge in Dictionary entfernen

Erstellt von schillerdeluxe vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.995 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren
Doppelte Einträge in Dictionary entfernen

Hallo,
ich habe ein kleines Problem:

Ich möchte gerne ein Dictionary füllen, nur blöderweiße kommt es vor, dass ein paar Key-Werte eventuell doppelt vorkommen...

Ich hab gesehen es gibt eine Distinct-Methode (zumindestens im .NET 3.5), kann ich damit die doppelten Einträge löschen?

mfg

M
205 Beiträge seit 2008
vor 15 Jahren

Hallo,

man kann keine gleichen Schlüssel erzeuen das liefert einen Fehler wenn du es mit der Add Methode versuchst, du kannst es aber einfach so machen:


            Dictionary<string, int> d = new Dictionary<string, int>();

            d["a"] = 0;
            d["b"] = 1;
            d["c"] = 2;
            d["d"] = 3;
            d["c"] = 5;

liefert keinen Fehler bei doppeltzem Schlüssel.

mfg Markus

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

wird dann der alte wert überschrieben?

140 Beiträge seit 2007
vor 15 Jahren

Ich würde einfach die Add Methode überschreiben und da drin überprüfen, ob es doppelte Einträge gebe:


clacc MyDictionary : Dictionary<string, asdf>
{
     public void new Add(...)
     {
          ...
     }
}

Viel Erfolg (mit wenig Aufwand),
Sisyphus

M
205 Beiträge seit 2008
vor 15 Jahren

Ja

140 Beiträge seit 2007
vor 15 Jahren

wird dann der alte wert überschrieben?

hajo, das macht ja dein Dictionary auch...

Viel Erfolg (mit wenig Aufwand),
Sisyphus

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

danke, so funktioniert es prima

630 Beiträge seit 2007
vor 15 Jahren

Hallo,

seit .NET 3.5 kann die HashSet<T> Klasse für solche Zwecke verwendet werden.

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm