当前位置:  开发笔记 > 编程语言 > 正文

使用哪个版本的StringComparer

如何解决《使用哪个版本的StringComparer》经验,为你挑选了2个好方法。

如果我想要一个不区分大小写的字符串键入字典,我应该使用哪个版本的StringComparer给定这些约束:

字典中的键来自C#代码或仅用英语语言环境编写的配置文件(美国或英国)

该软件已国际化,将在不同的区域运行

我通常使用StringComparer.InvariantCultureIgnoreCase但不确定这是否是正确的情况.这是示例代码:

Dictionary< string, object> stuff = new Dictionary< string, object>(StringComparer.InvariantCultureIgnoreCase);

Michael Dama.. 31

有三种比较器:

文化感知

文化不变

序数词

每个比较器都具有区分大小写不区分大小写的版本.

一个顺序比较器使用字符的序数值.这是最快的比较器,它应该用于内部目的.

一个文化感知的比较器认为是具体到当前线程的文化方面.它知道"土耳其语i","西班牙语LL"等问题.它应该用于UI字符串.

文化不变的比较器实际上是没有定义,会产生不可预知的结果,因此,不应该在所有使用.

参考

    在Microsoft .NET 2.0中使用字符串的新建议


Greg Beech.. 12

这篇MSDN文章涵盖了您可能想要深入了解的所有内容,包括土耳其语问题.

我读了它已经有一段时间了,所以我再次这样做了.一小时见!



1> Michael Dama..:

有三种比较器:

文化感知

文化不变

序数词

每个比较器都具有区分大小写不区分大小写的版本.

一个顺序比较器使用字符的序数值.这是最快的比较器,它应该用于内部目的.

一个文化感知的比较器认为是具体到当前线程的文化方面.它知道"土耳其语i","西班牙语LL"等问题.它应该用于UI字符串.

文化不变的比较器实际上是没有定义,会产生不可预知的结果,因此,不应该在所有使用.

参考

    在Microsoft .NET 2.0中使用字符串的新建议



2> Greg Beech..:

这篇MSDN文章涵盖了您可能想要深入了解的所有内容,包括土耳其语问题.

我读了它已经有一段时间了,所以我再次这样做了.一小时见!

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有