当前位置: 首页 > 编程语言 > C#

如何比较字符(尊重文化)分享

时间:2023-04-10 10:49:26 C#

如何比较字符(尊重文化)我这道题的回答,非要比较两个字符。我认为普通的char.CompareTo()方法可以让我指定CultureInfo,但事实并非如此。所以我的问题是:如何比较两个字符并指定CultureInfo进行比较?比较字符和字符串确实是有区别的。让我试着解释一下基础知识,很简单:一个字符总是代表一个unicode点。比较字符总是比较代码点而不考虑它们的相同含义。如果你想比较相同含义的字符,你需要创建一个字符串并使用它提供的比较方法。其中包括对不同文化的支持。有关如何执行此操作的信息,请参见Guffa的回答。没有启用文化的字符比较,您必须将字符转换为字符串,以便您可以使用例如String.Compare(string,string,CultureInfo,CompareOptions)方法。示例:chara='?';字符b='?';//输出-1:Console.WriteLine(String.Compare(a.ToString(),b.ToString(),CultureInfo.GetCultureInfo("sv-SE"),CompareOptions.IgnoreCase));//输出1:Console.WriteLine(String.Compare(a.ToString(),b.ToString(),CultureInfo.GetCultureInfo("en-GB"),CompareOptions.IgnoreCase));您是否尝试过String.Compare方法?Compare使用当前区域性来获取特定于区域性的信息,例如大小写规则和单个字符的字母顺序。例如,一种文化可以指定将某些字符组合视为单个字符,或者以特定方式比较大写和小写字符,或者字符的排序顺序取决于其前面或后面的字符。String.Compare(str1,str2,false,newCultureInfo("en-US"))我不认为cultureInfo在比较C#中的字符时很重要。char已经是一个Unicode字符,所以很容易用CultureInfo比较两个字符。以上就是C#学习教程:如何比较所有人物分享的内容(尊重文化)。侵权请点击右侧联系管理员删除。如需转载请注明出处: