【发布时间】:2020-07-10 19:44:34
【问题描述】:
我正在使用 C# 进行编码,我遇到的情况需要我订购一系列单个字符串。 示例:
var list = new List<string> { "1", "A", "a", "0" };
由于我们都知道ASCII 表在 Lower 之前列出了 Upper,所以我希望它是这样排序的 (0, 1, A, a),但它是这样排序的 (0, 1, a,一)
我有一个简单的例子:
var strs = new List<string> { "1", "A", "a", "0" };
var orderedStrs = strs.OrderBy(l => l);
Console.WriteLine("---strs---");
foreach(var elem in strs){
Console.WriteLine(elem);
}
Console.WriteLine("---orderedStrs---");
foreach(var elem in orderedStrs){
Console.WriteLine(elem);
}
var chars = new List<char> { '1', 'A', 'a', '0' };
var orderedChars = chars.OrderBy(ch => ch);
Console.WriteLine("---chars---");
foreach(var elem in chars){
Console.WriteLine(elem);
}
Console.WriteLine("---orderedChars---");
foreach(var elem in orderedChars){
Console.WriteLine(elem);
}
这是输出:
---strs---
1
A
a
0
--- orderedStrs---
0
1
a
A
---chars---
1
A
a
0
--- orderedChars---
0
1
A
a
谁能回答我这个问题?
【问题讨论】:
-
你住在哪个国家?你说什么语言?请在您的问题中说明。
-
@mjwills,抱歉,错字,已修复!我住在葡萄牙。你认为这是一个地区问题吗?
-
不错!所以它不使用序数比较?那么为什么低位排在第一位呢?
-
你为什么不希望它呢?文档在哪里说不会发生这种情况?
标签: c# string list character ascii