Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么C#OrderBy的字符串顺序在大写之前是小写?_C#_String_List_Character_Ascii - Fatal编程技术网

为什么C#OrderBy的字符串顺序在大写之前是小写?

为什么C#OrderBy的字符串顺序在大写之前是小写?,c#,string,list,character,ascii,C#,String,List,Character,Ascii,我正在用C#编码,有一种情况需要我对一个字符串的序列进行排序。 例如: var list=新列表{“1”、“A”、“A”、“0”}; 因为我们都知道ASCII表先上后下,所以我希望它的顺序是这样的(0,1,A,A),但它的顺序是这样的(0,1,A,A) 我有一个简单的例子: var-strs=新列表{“1”、“A”、“A”、“0”}; var orderedStrs=strs.OrderBy(l=>l); Console.WriteLine(“--strs--”); foreach(strs中

我正在用C#编码,有一种情况需要我对一个字符串的序列进行排序。 例如:

var list=新列表{“1”、“A”、“A”、“0”};
因为我们都知道
ASCII
表先上后下,所以我希望它的顺序是这样的(0,1,A,A),但它的顺序是这样的(0,1,A,A)

我有一个简单的例子:

var-strs=新列表{“1”、“A”、“A”、“0”};
var orderedStrs=strs.OrderBy(l=>l);
Console.WriteLine(“--strs--”);
foreach(strs中的可变元素){
控制台写入线(elem);
}
Console.WriteLine(“--orderedStrs--”);
foreach(orderedStrs中的变量元素){
控制台写入线(elem);
}
var chars=新列表{'1','A','A','0'};
var orderedChars=chars.OrderBy(ch=>ch);
Console.WriteLine(“--chars--”);
foreach(以字符表示的可变元素){
控制台写入线(elem);
}
Console.WriteLine(“--orderedChars--”;
foreach(orderedChars中的变量元素){
控制台写入线(elem);
}
这是输出:

        ---strs---
        1
        A
        a
        0
        --- orderedStrs---
        0
        1
        a
        A
        ---chars---
        1
        A
        a
        0
        --- orderedChars---
        0
        1
        A
        a
有人能回答我这个问题吗?

你可以使用
OrderBy(a=>a,StringComparer.Ordinal)

var-strs=新列表{“1”、“A”、“A”、“0”};
var orderedStrs=strs.OrderBy(l=>l);
Console.WriteLine(“--strs--”);
foreach(strs.OrderBy中的变量elem(a=>a,StringComparer.Ordinal))
{
控制台写入线(elem);
}
结果

---strs---
0
1
A
a

你住在哪个国家?你说什么语言?请在您的问题中指定。@mjwills,对不起,输入错误,已修复!我住在葡萄牙。你认为这是一个地区性问题吗?你读了吗?很好!所以它没有使用顺序比较?那么,为什么较低的优先呢?为什么你认为它不会呢?医生在哪里说不会发生这种情况?也许可以引用该页面(或者将其标记为副本)。@mjwills谢谢,你是对的。但我认为最好回答这个问题,而不是链接或将其标记为重复问题