![]() |
ContainsKey in SortedList
Hallo,
folgendes Problem: Ich habe eine SortedList, in der ich einige Key-Value-Beziehungen gepeicherthabe. Das funktioniert soweit auch alles bestens! Es ist richtig sortiert. Sobald ich nun aber eine Prüfung mache, ob ein bestimmter Key in der Liste vorhanden ist, wird eine Ausnahme ausgelöst: "Der angegebene IComparer hat eine Ausnahme ausgelöst" Mache ich da irgendwas grundlegendes falsch? |
Re: ContainsKey in SortedList
Hi,
hast du mal ein stück source, damit der fehler leichter eingrenzbar ist? |
Re: ContainsKey in SortedList
Hi,
wie machst du die Überprüfung? |
Re: ContainsKey in SortedList
Also ich habe das ganze in einer Klasse und im Konstruktor passiert folgendes:
Delphi-Quellcode:
Ich habe im Hauptprogramm ein Objekt dieser Klasse erzeugt und rufe dann z.B. MyObject.isIn(TObject(1)) auf.
//Der Konstruktor
... SpaltenNamen := SortedList.Create; SpaltenNamen.Add(TObject(1),'NAME'); SpaltenNamen.Add(TObject(2),'VORNAME'); ... Die isIn-Methode delegiert das ganze einfach weiter:
Delphi-Quellcode:
Ich schätze, dass ich mit dem TObject irgendwie murks mache, steh aber gerade auf dem Schlauch...function PStammA_Fields.isIn(o : TObject) : boolean; begin Result := SpaltenNamen.ContainsKey(o); end; |
Re: ContainsKey in SortedList
Also ich habe das mit einer 'System.Collections.Hashtable' gemacht. Der Schlüssel (AnyObject.ToString) und Wert sind Strings. Damit klappt es ohne Probleme. Zum Suchen würde ich auch eher eine Hashtabelle verwenden, die ist schneller als eine sortierte Liste.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz