c# - ToLower()有时会从字母"I"中删除点

本文关键字:quot 删除 ToLower | 更新日期: 2023-09-27 18:01:35

我们注意到在某些字符串上调用ToLower()时出现了一个奇怪的错误。

输入字符串为:

string s = "DocumentInfo";
string t = s.ToLower();
// sometimes, t == documentinfo
// other times, t == documentınfo  (note dot is missing from i - INCORRECT)

我们将字符串传递给下游的web服务查询,因此它会给我们带来问题。

我最初的猜测是这与文化或用户文化有关,因为我们的一些页面为每个用户定制了这些设置。

可能是这个问题吗?有没有办法让它正常工作?

更新2011.07.06

我发现我可以通过将文化设置为tr-TR来重复这个问题。不确定其他文化是否受到影响。

c# - ToLower()有时会从字母"I"中删除点

尝试使用String.ToLowerInvariant()

尝试:

s.ToLower(new CultureInfo("en-US", false));

如果你得到一个不同的结果,你的CultureInfo。