我们在某些字符串上调用ToLower()时发现了一个奇怪的错误。
输入字符串是:
string s = "DocumentInfo";
string t = s.ToLower();
// sometimes, t == documentinfo
// other times, t == documentınfo (note dot is missing from i - INCORRECT)
我们将字符串传递给下游的Web服务查询,因此它给我们带来了问题。
我最初的猜测是它与Culture或UICulture有关,因为我们的一些页面会为每个用户自定义这些设置。
这可能是问题吗?有没有办法可以强迫它正常工作?
更新2011.07.06
我发现我可以通过将Culture设置为 tr-TR 来复制该问题。 不确定其他文化是否会受到影响。
答案 0 :(得分:24)
答案 1 :(得分:3)
尝试:
s.ToLower(new CultureInfo("en-US", false));
如果您得到不同的结果,您的CultureInfo.CurrentCulture可能会设置为其他内容。