string strArr="5,3,8,1,9,2,0,6,4,7";
Run Code Online (Sandbox Code Playgroud)
我想重新排列数字的顺序,所以结果将如下所示:
string result ="0,1,2,3,4,5,6,7,8,9";
Run Code Online (Sandbox Code Playgroud)
任何的想法?
Guf*_*ffa 20
拆分,排序和加入:
string[] nums = strArr.Split(',');
Array.Sort(nums);
string result = String.Join(",", nums);
Run Code Online (Sandbox Code Playgroud)
要么:
string result =
String.Join(",",
strArr.Split(',')
.OrderBy(s => s)
.ToArray()
);
Run Code Online (Sandbox Code Playgroud)
如果您有一个数字较大的字符串需要按数字排序,则不能将它们排序为字符串,例如"2">"1000".您可以将每个子字符串转换为数字,排序,然后将它们转换回来:
string result =
String.Join(",",
strArr
.Split(',')
.Select(s => Int32.Parse(s))
.OrderBy(n => n)
.Select(n => n.ToString())
.ToArray()
);
Run Code Online (Sandbox Code Playgroud)
或者,正如mastoj建议的那样,解析排序中的字符串:
string result =
String.Join(",",
strArr
.Split(',')
.OrderBy(s => Int32.Parse(s))
.ToArray()
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1443 次 |
| 最近记录: |