这些比较应该返回什么?

2024-05-04

我有一个使用 string.compare(string,string) 对某些值进行排序的应用程序。我不明白的是为什么“1022”比较小于“10-23”,而“10-23”比较小于“1024”。

是否有特定于“-”值的东西导致了这个结果? string.compare 的重载对于相同类型的数据(带破折号的数字)的不同区域性设置会给出相同的结果吗?


从文档字符串.比较(字符串,字符串) http://msdn.microsoft.com/en-us/library/84787k22.aspx:

使用单词排序规则进行比较。

and further http://msdn.microsoft.com/en-us/library/system.globalization.compareoptions.aspx:

.NET Framework 使用三种不同的排序方式:单词排序、字符串排序和序数排序。词排序对字符串执行区域性敏感的比较。某些非字母数字字符可能分配有特殊的权重。例如,连字符(“-”)可能分配有非常小的权重,以便“coop”和“co-op”在排序列表中彼此相邻出现。字符串排序与单词排序类似,只是没有特殊情况。因此,所有非字母数字符号都位于所有字母数字字符之前。序数排序根据字符串每个元素的 Unicode 值来比较字符串。

迈克尔·卡普兰 (Michael Kaplan) 提供的更多详细信息如下:.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这些比较应该返回什么? 的相关文章

  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • XSL字符串多重替换功能

    如何让这个函数进行多重替换 经验 替换aaa with 111并替换bbb with 222 etc
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • @NotNull 注释未检查 Jersey REST 资源中的空查询参数

    我正在尝试使用 javax validation validation api 进行验证 QueryParam参数 我已按照以下步骤操作 添加依赖项
  • 如何使用C#检测IIS版本?

    如何使用C 检测IIS版本 更新 我的意思是来自 winapp 实际上该场景是开发一个自定义安装程序 想要检查已安装 IIS 的版本以调用适当的 api 在这里找到了答案 链接文本 http forums iis net p 1162404
  • Android maven插件生成多个dex文件

    如何使用 android maven 插件生成多个 dex 文件而不是一个以避免 android 64k 方法问题 可以使用这个插件来做到这一点 还是我必须使用 gradle 来做到这一点 解决方案 通过这个拉取请求https github
  • 如何使用递归获取父级的所有子级,然后获取其子级

    问候 我的 JSP Web 应用程序中有父事务的比喻 我将事务 ID 存储在数据库中 要求是显示父级的所有子级 然后显示父级子级的后续子级 实际上 这个父母及其孩子的列表永远不会超过 4 或 5 层 但我需要考虑到它可以比这更多层 我尝试过
  • 解码URIComponent抛出错误“URI格式错误”

    As unescape已被弃用 我已选择decodeURIComponent 但它没有按预期工作 decodeURIComponent无法解码以下 URI 组件 Coast 20Guard 20Academy 20to 20hold 20a
  • 了解左值到右值转换的示例

    我很难理解这段代码 来自 C 14 草案标准的示例 转换拉瓦尔 调用未定义的行为g false 为什么constexpr使程序有效 另外 不访问 是什么意思 y n 在两次通话中g 我们正在返回n数据成员那么为什么最后一行说它不能访问它呢
  • 在Rails环境中执行Ruby Worker脚本

    我有以下案例 我希望能够将独立的 Ruby 脚本作为守护进程运行 我希望能够在我的 Rails 项目的上下文 环境中执行此脚本 例如 以便该脚本可以访问后端 我的 Rails 模型 有没有一种简单的方法可以实现这一点 Thanks Use
  • 如何防止 Ajax/javascript 结果在浏览器中缓存?

    如何防止浏览器缓存Ajax结果 我有事件触发的 Ajax 脚本 仅当浏览器数据被清除时才显示结果 在 IE6 和 Firefox 3 0 10 中测试 随机 URL 可以工作 但它是一种 hack HTTP 内置了应该可以工作的解决方案 尝
  • 如何调试 Jenkins 作业中无法运行程序“C:\Program Files\Git”?

    我正在使用 jenkins 构建我的 git 项目 这是我在查看日志时收到的错误 我在 jenkins 中使用 git 插件 您将如何解决该错误消息 Started by user anonymous Building in workspa
  • 使用 JWT 验证单独的 API 微服务

    我正在 NodeJS 中使用微服务开发一个应用程序 我已经构建了一个 auth api 它处理通常的注册登录等 并且它发出 JWT 如何使用它们来保护用 Express 编写的单独 API 微服务中的路由 我是否需要使用 JWT 和密钥来解
  • Spring Boot 中的 spring.jpa.open-in-view=true 属性是什么?

    I saw spring jpa open in view trueSpring Boot 文档中用于 JPA 配置的属性 Is the true如果根本没有提供此属性的默认值 这到底有什么作用 我没有找到任何好的解释 它让你使用Sessi
  • 使用 CSS 定位文本节点

    我正在研究容器对象的 CSS 我大部分时间都在工作 具体来说 我正在查看测试用例 1 2 和 3 它们都有文本节点 有没有办法像对待任何子元素一样对待文本节点 有什么方法可以调整 CSS 以使文本节点及其兄弟节点正常工作吗 除非有一个 CS
  • 类图中的组合和依赖之间的区别?

    我知道 有人就这个案例问过同样的问题 但我仍然不明白 我需要一个具体的答案 谢谢你 D 既然冈努斯没有正确解释构图的含义 我就只好这么做了 正如 Gangnus 所解释的 聚合是一种特殊形式协会具有预期含义部分 整体关系 但没有精确的语义
  • 如何应用非标准 SQL 列排序顺序?

    考虑下表Persons Key Name Type Date Pack 1 Pocoyo KIND 30 11 2011 1 2 Erik MAN 10 10 1980 1 3 Alinda VROUW 12 12 1991 1 4 Pin
  • 根域上的 Heroku SSL

    我正在尝试为我的 heroku 应用程序设置 SSL 我正在使用基于主机名的 SSL 插件 赫罗库文档 http devcenter heroku com articles ssl customdomain ssl wwwyourdomai
  • 如何更改 Android 中状态栏通知图标的颜色/色调(棉花糖及 23+ 以上)?

    正如标题所示 如何将状态栏图标的颜色更改为深色而不是默认的白色 FROM TO 要使状态栏图标具有深色而不是默认的白色 请在您的styles xml 或者更准确地说 在values v23 styles xml file
  • 保存并加载 .bat 游戏

    我正在制作一个用bat编写的文本游戏 并且游戏已经完成 或者更多 其中的很大一部分 例如命令 以及可以玩它的阶段 但是 我想添加保存游戏并再次加载的功能 我认为可以通过让 bat 文件写入需要保存的变量 例如项目变量 来做到这一点 但是 我
  • 新主题产品给出“ValueError:主题 my.theme 不可用”

    我使用这些说明通过 zopeskel 创建了一个新主题http docs plone org adapt and extend theming theme product with diazo html http docs plone or
  • Android:OneSignal 如何使用自定义图标或应用程序图标更改通知账单图标?

    收到通知时 将显示帐单图标 而不是我覆盖它以从代码中显示的应用程序图标或自定义图标 我可以从仪表板更改图标 但我想从代码中处理它 内化 OneSignal startInit this inFocusDisplaying OneSignal
  • 这些比较应该返回什么?

    我有一个使用 string compare string string 对某些值进行排序的应用程序 我不明白的是为什么 1022 比较小于 10 23 而 10 23 比较小于 1024 是否有特定于 值的东西导致了这个结果 string