【发布时间】:2018-01-11 07:47:24
【问题描述】:
我有一个包含数字、单词和换行符的字符串,我将其拆分为一个数组。
如果我运行 Array.Sort(lines),它将按第 1 列 Number 对数组进行数字排序。
如何改为按第 3 列的字母顺序对数组进行排序,Color?
注意:它们不是真正的列,只是单词之间的空格。
我不能修改字符串来改变结果。
| Number | Name | Color |
|------------|------------|------------|
| 1 | Mercury | Gray |
| 2 | Venus | Yellow |
| 3 | Earth | Blue |
| 4 | Mars | Red |
C#
示例:http://rextester.com/LSP53065
string planets = "1 Mercury Gray\n"
+ "2 Venus Yellow\n"
+ "3 Earth Blue\n"
+ "4 Mars Red\n";
// Split String into Array by LineBreak
string[] lines = planets.Split(new string[] { "\n" }, StringSplitOptions.None);
// Sort
Array.Sort(lines);
// Result
foreach(var line in lines)
{
Console.WriteLine(line.ToString());
}
所需的排序数组结果
3 Earth Blue
1 Mercury Gray
4 Mars Red
2 Venus Yellow
【问题讨论】:
标签: c# arrays visual-studio sorting