为了账号安全,请及时绑定邮箱和手机立即绑定

InvariantCulture和Ordinal字符串比较之间的区别

InvariantCulture和Ordinal字符串比较之间的区别

ABOUTYOU 2019-08-29 17:41:26
InvariantCulture和Ordinal字符串比较之间的区别比较c#中的两个字符串是否相等,InvariantCulture和Ordinal比较之间有什么区别?
查看完整描述

3 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

例如,它确实很重要 - 有一种叫做角色扩展的东西


var s1 = "Strasse";

var s2 = "Straße";


s1.Equals(s2, StringComparison.Ordinal);           //false

s1.Equals(s2, StringComparison.InvariantCulture);  //true

随着InvariantCultureß角色扩展到ss。


查看完整回答
反对 回复 2019-08-29
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

指向在.NET Framework中使用字符串的最佳实践

  • 使用StringComparison.OrdinalStringComparison.OrdinalIgnoreCase进行比较作为与文化无关的字符串匹配的安全默认值。

  • 使用比较StringComparison.OrdinalStringComparison.OrdinalIgnoreCase获得更好的性能。

  • 基于比较在语言上无关的时间(例如,符号),使用非语言StringComparison.OrdinalStringComparison.OrdinalIgnoreCase值而不是字符串操作CultureInfo.InvariantCulture

最后:

  • StringComparison.InvariantCulture在大多数情况下,不要使用基于字符串的操作。少数例外情况之一是当你坚持语言上有意义但文化上不可知的数据时。


查看完整回答
反对 回复 2019-08-29
  • 3 回答
  • 0 关注
  • 996 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信