SortedList (HashTable)-Bug mit strings !?

11/04/2008 - 14:55 von Jochen Kalmbach [MVP] | Report spam
Hallo,

ist das ein "Known-Bug"?

Platform: .NET 1.1, XP

Code:
static void Main()
{
string s2 = "W_";

//System.Collections.SortedList sl = new
System.Collections.SortedList(new Comp());
System.Collections.SortedList sl = new
System.Collections.SortedList();
sl.Add("VC", null);
sl.Add(s2, null);

System.Globalization.CultureInfo ci = new
System.Globalization.CultureInfo("fi-FI");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;

if (sl.ContainsKey(s2) == false)
{
Console.WriteLine("NICHT GEFUNDEN!");
}
else
Console.WriteLine("GEFUNDEN!");
}


Liefert "NICHT GEFUNDEN"...

Greetings
Jochen
 

Lesen sie die antworten

#1 Andre Stille
11/04/2008 - 15:20 | Warnen spam
Hallo Jochen,

"Jochen Kalmbach [MVP]" schrieb im
Newsbeitrag news:
Hallo,

ist das ein "Known-Bug"?

Platform: .NET 1.1, XP




Eher ein "Known-Feature".

[Performing Culture-Insensitive String Operations in Collections]
http://msdn2.microsoft.com/en-us/li...ca6w0.aspx

Dort steht ziemlich am Ende:

In general, if you use a SortedList on strings without specifying a custom
invariant
comparer, a change to Thread.CurrentCulture after the list has been
populated can
invalidate the list.

MfG
Andre Stille

Ähnliche fragen