c# – String.Compare()与匈牙利CultureInfo工作不正确的特定字
发布时间:2020-12-15 08:04:15 所属栏目:百科 来源:网络整理
导读:String.Compare()与匈牙利CultureInfo工作不正确的特定字符串: if (0 == String.Compare(@"ny",@"nY",true,new CultureInfo("hu-HU"))) Console.WriteLine("Equal");else Console.WriteLine("Not equal"); 当然我想要得到“平等”答案,但事实并非如此. 如果
String.Compare()与匈牙利CultureInfo工作不正确的特定字符串:
if (0 == String.Compare(@"ny",@"nY",true,new CultureInfo("hu-HU"))) Console.WriteLine("Equal"); else Console.WriteLine("Not equal"); 当然我想要得到“平等”答案,但事实并非如此. 解决方法
你会期待什么?在匈牙利语中,“ny”被认为是一个字母.它可以写成“ny”,“Ny”或“NY”.但从来没有“nY”.这按预期工作:
var hu = new CultureInfo("hu-HU"); Console.WriteLine(String.Compare("Ny","NY",hu)); Console.WriteLine(String.Compare("ny","Ny",hu)); 在匈牙利语中,除了外来词和一些名字外,他们没有字母“y”.但是当你说“nY”时,这不可能是“ny”字母.所以也许.NET将它视为两个字母. 有谁知道匈牙利语吗?听到他们的意见可能很有意思.但我很确定字符串“nY”永远不会出现在“自然”匈牙利语中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |