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

fra*_*lic 23 c# string culture

我们在某些字符串上调用ToLower()时发现了一个奇怪的错误.

输入字符串是:

string s = "DocumentInfo";
string t = s.ToLower();
// sometimes, t == documentinfo
// other times, t == document?nfo  (note dot is missing from i - INCORRECT)
Run Code Online (Sandbox Code Playgroud)

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

我最初的猜测是它与Culture或UICulture有关,因为我们的一些页面为每个用户定制这些设置.

这可能是问题吗?有没有办法可以强迫它正常工作?

更新2011.07.06

我发现我可以通过将Culture设置为tr-TR来复制该问题.不确定其他文化是否会受到影响.