Ich habe versucht, der Dokumentation zu folgen, und ich kann es nicht funktionieren lassen. Haben Sie eine KeyedCollection mit der Schlüsselzeichenfolge.
Wie macht man den String-Schlüssel in einer KeyedCollection nicht beachten?
Auf einem Dictionary kann StringComparer.OrdinalIgnoreCase im ctor übergeben werden.
%Vor% Wenn Sie möchten, dass Ihr Typ WordDefKeyed
standardmäßig nicht zwischen Groß- und Kleinschreibung unterscheidet, sollte Ihr standardmäßiger, parameterloser Konstruktor ein IEqualityComparer<string>
Instanz dazu, so:
Die StringComparer
-Klasse hat einige Standard- IEqualityComparer<T>
-Implementierungen, die häufig verwendet werden abhängig von der Art der Daten, die Sie speichern:
StringComparer.Ordinal
und StringComparer.OrdinalIgnoreCase
- Wird verwendet, wenn Sie maschinenlesbare Zeichenfolgen verwenden und keine Zeichenfolgen, die in die Datei eingegeben oder angezeigt werden Benutzer.
StringComparer.InvariantCulture
und StringComparer.CultureInvariantIgnoreCase
- Wird verwendet, wenn Sie Zeichenfolgen verwenden, die nicht auf der Benutzeroberfläche angezeigt werden, aber kultursensitiv sind und kann über Kulturen hinweg gleich sein.
StringComparer.CurrentCulture
und StringComparer.CurrentCultureIgnoreCase
- Wird für Zeichenfolgen verwendet, die für die aktuelle Kultur spezifisch sind, z. B. wenn Sie Benutzereingaben erfassen.
Wenn Sie eine StringComparer
für eine Kultur andere als die aktuelle Kultur benötigen, können Sie die statische Create
Methode , um ein StringComparer
für ein bestimmtes CultureInfo
.
Tags und Links .net string-comparison iequalitycomparer