C# 有没有一种方法可以在忽略空格的情况下使用OrderBy对字符串进行排序?
因此,我需要按照升序对文本文件的第一行进行排序,如下所示: 32 73 36 3 90 60 27 56 3 19 63 42 47 74 100 56 88 35 83 1 6 17 57 62 21 排序后,它应该如下所示: 1 3 3 6 17 19 21 27 32 36等 我在C#还是个新手,所以我试着这样编码:C# 有没有一种方法可以在忽略空格的情况下使用OrderBy对字符串进行排序?,c#,C#,因此,我需要按照升序对文本文件的第一行进行排序,如下所示: 32 73 36 3 90 60 27 56 3 19 63 42 47 74 100 56 88 35 83 1 6 17 57 62 21 排序后,它应该如下所示: 1 3 3 6 17 19 21 27 32 36等 我在C#还是个新手,所以我试着这样编码: var lines=System.IO.File.ReadAllLines(@./../text.txt”); 行[0]=String.Concat(行[0].OrderBy
var lines=System.IO.File.ReadAllLines(@./../text.txt”);
行[0]=String.Concat(行[0].OrderBy(x=>x));
输出为:
00001111222222
有没有办法忽略空格而不是按单个数字而是按两个数字排序
23 24 25
而不是1 1 2
?在空格上拆分字符串,然后解析为int,排序,然后连接,例如(无错误检查):
按空间分割,解析为int,order我想我会选择
OrderBy(x=>int.parse(x))
。更短更快(尽管这没什么关系)OrderBy(int.Parse)
;)
var lines = System.IO.File.ReadAllLines(@"../../text.txt");
var sorted = lines[0]
.Split()
.Select(x => int.Parse(x))
.OrderBy(x => x);
return string.Join(" ", sorted);