|
|
1
93
由于某些文化(尤其是土耳其文化)的“有趣”特征,转换为大写或小写以进行不区分大小写的比较是不正确的。相反,使用 StringComparer MSDN有一些 great guidelines 关于字符串处理。您可能还希望检查代码是否通过 the Turkey test . 编辑:注意尼尔的评论 依次的 不区分大小写的比较。整个领域都很模糊:( |
|
|
2
29
从…起 Microsoft
为什么?从…起 Microsoft :
这种角色不能往返的例子是什么?
这就是为什么,如果您想进行不区分大小写的比较,您可以将字符串转换为大写,而不是小写。 因此,如果你必须选择一个,选择一个 大写字母 . |
|
|
3
18
根据 MSDN 传入字符串并告诉比较忽略大小写更有效:
当然,如果您反复比较一个字符串,那么这可能不成立。 |
|
4
12
在C语言中,或者当使用每个字符串的单独可访问元素(例如C字符串或C++中STL的字符串类型)时,实际上是字节比较——所以比较
如果你鬼鬼祟祟地把你的弦装进
为什么你需要知道哪个更快?除非您正在进行一系列比较,否则运行快几个周期的比较与总体执行速度无关,听起来像是过早优化:) |
|
|
5
5
微软已经进行了优化
不过,我不能说ToUpper()或ToLower()的速度更快。我从未尝试过,因为我从未遇到过性能如此重要的情况。 |
|
|
6
4
如果在C#中进行字符串比较,使用.Equals()比将两个字符串转换为大写或小写要快得多。使用.Equals()的另一大好处是没有为2个新的大写/小写字符串分配更多内存。 |
|
|
7
3
the full list
两字节的
使用
结果如下。注:我还使用
|
|
|
8
0
这真的不重要。对于ASCII字符,这绝对不重要——只是一些比较和任意方向的一点翻转。Unicode可能会稍微复杂一些,因为有些字符会以奇怪的方式改变大小写,但除非您的文本中充满了这些特殊字符,否则不会有任何区别。 |
|
|
9
0
如果正确的话,如果你转换成小写,应该会有一个小的、微不足道的速度优势,但正如许多人所暗示的,这是文化相关的,不是在函数中继承的,而是在你转换的字符串中继承的(大量小写字母意味着很少分配给内存)--如果字符串包含大量大写字母,则转换为大写会更快。 |
|
Ben · 统计向量中的单词在字符串中出现的频率 1 年前 |
|
|
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 1 年前 |
|
|
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 1 年前 |
|
|
user764754 · 防止多行原始字符串文字中出现新行字符 1 年前 |
|
|
Bogaso · 从列表中返回与模式匹配的元素 1 年前 |
|
|
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 1 年前 |