Groß-und Kleinschreibung Wörterbuch funktioniert nicht
Verbringen ich habe ein paar Stunden versucht herauszufinden, warum meine generic Dictionary(Of String, String) ist nicht zu ignorieren Fall.
Hier ist mein code:
Dim test As New System.Collections.Generic.Dictionary(Of String, String)(System.StringComparison.OrdinalIgnoreCase)
test.Add("FROG", "1")
Console.WriteLine(test.ContainsKey("frog"))
Zeigt die Konsole "False" jeder Zeit. Es sollte zeigen, "True".
Wenn ich:
Console.WriteLine(test."frog"))
Bekomme ich eine KeyNotFoundException.
Es scheint, als ob die Comparer-parameter wird ignoriert.
Was ist Los?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als angedeutet hier, es ist ein einfacher Schreibfehler.
Das Problem ist System.StringComparison.OrdinalIgnoreCase ist ein Integer Enum.
Es sollte sein System.StringComparer.OrdinalIgnoreCase
Neue System.Sammlungen.Generisches.Dictionary(Of String, String)(System.StringComparison.OrdinalIgnoreCase) ist eigentlich Aufruf der New(capacity As Integer) überladenen Konstruktor und übergeben 5.
Also, damit alles funktioniert wie erwartet, ist die Instanzierung Zeile sollte lauten: