c# - 我们可以使用 StringComparer 对包括特殊字符在内的所有类型的字符串进行排序吗?
问题描述
我曾经StringComparer.Ordinal
对字符串列表进行排序。它对包含特殊字符的字符串进行排序,除了\\
.
是否有任何其他选项可以在\\
不编写用户定义代码的情况下进行排序?
尝试了以下代码:
Var string={"#a","\\b","c","1"}
Array.Sort(string,StringComparer.Ordinal)
我希望输出为
#a \\b 1 c
但实际输出是
#a 1 c \\b
解决方案
的code-point#
是35,1
是49,\
是92,a
//是b
97/98/99c
输出来自:
var arr = new[] { "#a", "\\b", "c", "1" };
Array.Sort(arr, StringComparer.Ordinal);
Console.WriteLine(string.Join(" ", arr));
是:
#a 1 \b c
所以......它按预期工作,按它们的序数值对它们进行排序。
推荐阅读
- oracle - 创建本地连接 - SQL Developer
- javascript - 更新 NGRX/Redux 存储中数组中对象的属性不起作用
- java - 如何使用递归打印数字的阶乘可视化
- swift - swift 实际上对结构做了什么复制省略?
- azure-active-directory - 使用 .NET SDK 从 Azure AD 验证服务主体名称 (SPN)
- python - 我的功能保存到泡菜不起作用
- python - 解释 HIDAPI python 输出
- css - 我怎样才能“撤消”大纲:无;不删除规则?
- bash - 使用 Ncat 模拟 TCP 客户端流量
- python - etree 元素上的 xpath 产生意外结果