首页 / 知识
关于.net:哪个通常最好用 – StringComparison.OrdinalIgnoreCase或StringComparison.InvariantCultureIgnoreCa
2023-04-15 22:55:00

Which is generally best to use — StringComparison.OrdinalIgnoreCase or StringComparison.InvariantCultureIgnoreCase?我有一些这样的代码:
我不在乎这个案子。我应该使用 更新的.NET文档现在有一个表来帮助您决定在您的情况下使用哪一个是最好的。 来自msdn的"在Microsoft.NET 2.0中使用字符串的新建议"
一切都取决于 比较unicode字符串很困难:
参见:http://en.wikipedia.org/wiki/unicode_等效 如果您试图以不区分大小写的方式比较2个Unicode字符串,并希望它在任何地方都能工作,那么您就遇到了一个不可能的问题。 典型的例子是土耳其语I,当大写字母变成?(注意圆点) 默认情况下,.NET框架通常将currentCulture用于与字符串相关的函数,其中一个非常重要的例外是使用顺序(逐字节)比较的 根据设计,这将导致不同的字符串函数根据计算机的文化表现不同。 尽管如此,有时我们需要一个"通用目的",不区分大小写,比较。 例如,无论应用程序安装在哪台计算机上,您都可能希望字符串比较的行为方式相同。 为了实现这一目标,我们有三个选择: Unicode等价规则很复杂,这意味着使用方法1)或2)比 您选择哪一个很大程度上取决于您正在构建的应用程序。
微软有一套明确的建议。然而,在解决这些问题之前,了解Unicode等价的概念是非常重要的。 另外,请记住,序数对齐情况是一种非常特殊的野兽,即与词典学方面的一些混合情况相比,选择一点序数。这可能会令人困惑。 对于这一点,msdn给出了一些非常明确的建议:http://msdn.microsoft.com/en-us/library/ms973919.aspx 我想这取决于你的情况。因为顺序比较实际上是在查看字符的数字Unicode值,所以当您按字母顺序排序时,它们不是最佳选择。不过,对于字符串比较而言,序数要快一点。 这取决于你想要什么,尽管我会避开不变的区域性,除非你非常确定你永远不想本地化其他语言的代码。改用当前区域性。 另外,ordinalAlignoreCase应该考虑数字,这可能是您想要的,也可能不是您想要的。 很简单的答案是,除非你使用土耳其语,否则你不需要使用不变的文化。 请参见以下链接: 在C中,toupper()和toupperInvariant()有什么区别? |
最新内容
相关内容
linux克隆代码命令?
linux克隆代码命令?,系统,代码,文件,命令,目录,源文件,文件夹,路径,目标,表示,Linux文件拷贝命令?linux系统使用cp命令即可将一个文件夹里面的linux命令行调试代码?
linux命令行调试代码?,环境,代码,信息,平台,程序,编辑,版本,步骤,体系结构,处理器,linux怎么调试pythonLinux中如何安装Python?安装pycharmPychlinux编译源代码命令?
linux编译源代码命令?,工具,代码,百度,最新,环境,项目,系统,电脑,密码,内核,linux怎样编译git源码包1、linux的源码是在/usr/src这个目录下,此linux命令提交代码?
linux命令提交代码?,工作,系统,地址,代码,命令,数据,信息,目录,标准,发行,求助:LINUX常用SHELL命令你可以通过打开Linux的terminal(终端)来执行Slinux代码同步命令?
linux代码同步命令?,时间,服务,系统,地址,代码,网络,通信,图片,风险,管理,linux系统时钟同步命令1、因此使用ntpdate同步可能会引发风险,因此该linux命令错误代码?
linux命令错误代码?,系统,密码,电脑,网络,手机,网址,软件,代码,设备,老板,Linux管理常见错误1、检查权限:使用文件浏览器和终端,检查文件的访问linux同步代码命令?
linux同步代码命令?,时间,系统,通信,网络,标准,图片,服务,代码,线程,单位,Linux下线程同步的几种方法1、线程同步的方式包括:互斥锁、读写锁、linux拉取代码命令?
linux拉取代码命令?,代码,工作,地址,命令,数据,系统,单位,生产,软件,目录,linux下wsdl2java获取源码命令首先,连接相应linux主机,进入到linux命linux代码对齐命令?
linux代码对齐命令?,系统,地址,标准,信息,对比,名称,代码,命令,文件,工作,linux命令大全之diff命令详解diff[参数][文件1或目录1][文件2或目录linux命令运行代码?
linux命令运行代码?,代码,单位,系统,环境,连续,保险,工具,命令,文件,音乐,Linux中,运行一个C语言程序如何运行1、编译。由.c文件生成.o文件,写搭建linux命令行代码?
搭建linux命令行代码?,系统,软件,工作,名字,服务,代码,地址,环境,管理,密码,linux如何搭建git1、Git已经在你的系统中了,你会做一些事情来客户linux查看命令代码?
linux查看命令代码?,系统,信息,代码,名称,命令,设备,数字,第一,软件,管理,在Linux命令终端中查看和编辑曾执行过的命令1、Linux可以使用以下几