首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >String.Equals GID返回false?

String.Equals GID返回false?
EN

Stack Overflow用户
提问于 2017-09-25 15:06:16
回答 2查看 1.1K关注 0票数 17

我的ASP.NET MVC应用程序中有以下C#代码。我尝试使用Equals方法与culture = "vi"比较2个string。我的代码如下:

代码语言:javascript
复制
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;

我不知道为什么CCCfalse。有什么问题吗?如果我设置了culture = id, ko, en等。然后是CCC = true。有谁能帮帮我呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-25 15:16:51

在越南语的情况下,它是不等于GIgIgi (GI)是音节的首字母,有点像一个字母,而gI是两个独立的字母。其他配对包括

代码语言:javascript
复制
cH != CH
kH != KH
nG != NG
nH != NH
pH != PH
qU != QU
tH != TH
tR != TR

https://en.wikipedia.org/wiki/Vietnamese_language

票数 25
EN

Stack Overflow用户

发布于 2017-09-25 15:21:22

你可以试试

代码语言:javascript
复制
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。根据您的文化,GIDgId是不同的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46399390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档