我的ASP.NET MVC应用程序中有以下C#代码。我尝试使用string
方法与Equals
比较2 culture = "vi"
。我的代码如下:
string culture = "vi";
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
System.Threading.Thread.CurrentThread.CurrentUICulture =
System.Threading.Thread.CurrentThread.CurrentCulture;
var CCC = string.Equals("CategId", "CATEGID", StringComparison.CurrentCultureIgnoreCase);
var xx = string.Equals("TestGID", "TestGID", StringComparison.CurrentCultureIgnoreCase);
var zz = string.Equals("id", "ID", StringComparison.CurrentCultureIgnoreCase);
结果:
CCC = false ;
xx = true;
zz = true;
我不知道为什么CCC
是false
。有什么不对的吗?如果我设置culture = id, ko, en
等等,那么CCC = true
。谁能帮帮我?
答案 0 :(得分:25)
在越南语的情况下, <{1>} <{1}}。 gI
(GI
)是音节 - 首字母,一个字母,而gi
是两个单独的字母。其他对是
GI
答案 1 :(得分:7)
你可以尝试
string culture = "vi";
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
System.Threading.Thread.CurrentThread.CurrentUICulture =
System.Threading.Thread.CurrentThread.CurrentCulture;
var CCC = string.Equals("CategId", "CATEGID", StringComparison.InvariantCultureIgnoreCase);
var CCC1 = string.Equals("CategId", "CATEGID", StringComparison.CurrentCultureIgnoreCase);
在此CCC
将返回true
,但由于文化,CCC1
将返回false
。根据您的文化GID
和gId
不同。