簡體   English   中英

String.Equals GID返回false?

[英]String.Equals GID returning false?

我的ASP.NET MVC應用程序中有以下C#代碼。 我嘗試使用Equals方法比較2個string ,其中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;

我不知道為什么CCCfalse 有什么不對的嗎? 如果我設置culture = id, ko, en等...那么CCC = true 誰能幫我?

越南語的情況下, gI 等於GI giGI )是音節 - 首字母,一種字母,gI兩個單獨的字母。 其他對是

cH != CH
kH != KH
nG != NG
nH != NH
pH != PH
qU != QU
tH != TH
tR != TR

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

你可以試試

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將返回trueCCC1將因Culture而返回false 根據你的文化GIDgId是不同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM