Oh yes, culture matters. If you run the following:
List<string> letters = new List<string>() { "Å", "B", "A" }; Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("sv-SE"); letters.Sort(); Console.WriteLine("sv-SE:") letters.ForEach(s => Console.WriteLine(s)); Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-GB"); letters.Sort(); Console.WriteLine("en-GB:") letters.ForEach(s => Console.WriteLine(s));
... you get the following result:
sv-SE: A B Å en-GB: A Å B
source share