stringcomparison sharp ejemplo comparestring c# asp.net string localization

sharp - string.compare c# ejemplo



String.Equals GID regresando falso? (2)

Es gI que no es igual a GI en el caso del idioma vietnamita . gi ( GI ) es una sílaba inicial, tipo de una letra, mientras que gI son dos letras separadas. Otras parejas son

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

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

Tengo el siguiente código C # en mi aplicación ASP.NET MVC. Intento comparar 2 string usando el método Equals , con culture = "vi" . Mi código a continuación:

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);

Resultados:

CCC = falso ;

xx = verdadero;

zz = verdadero;

No sé por qué el CCC es false . ¿Hay algo mal? Si configuro culture = id, ko, en , etc ... entonces CCC = true . ¿Quién puede ayudarme?


Puedes probar

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);

En este CCC devolverá true pero CCC1 devolverá false debido a Culture . según su cultura GID y GID es diferente.