我正在尝试创建一个基本的控制台应用程序,允许用户输入3个名称,然后按字母顺序对其进行排序。这不起作用。
这是我的代码。
Dim names(2) As String
Console.WriteLine("Name 1 ?")
names(0) = Console.ReadLine
Console.WriteLine("Name 2 ?")
names(1) = Console.ReadLine
Console.WriteLine("Name 3 ?")
names(2) = Console.ReadLine
Array.Sort(names)
Console.WriteLine("Your names are:" & names)
控制台没有打印代码。
答案 0 :(得分:3)
使用LINQ:
Dim namesSorted() As String = names.OrderBy(Function(x) x).ToArray
使用此方法,您可以将排序条件更改为您想要的任何内容,即字长,升序/降序。要打印结果:
Console.WriteLine("Your names are:" & String.Join(","c, namesSorted))
另外,我建议你使用List,然后你不仅限于3个名字,而且你不需要知道你将提前处理多少个名字。 LINQ语法将是相同的。
答案 1 :(得分:1)
尝试这样的事情......
Dim names(2) As String
Console.WriteLine("Name 1 ?")
names(0) = Console.ReadLine
Console.WriteLine("Name 2 ?")
names(1) = Console.ReadLine
Console.WriteLine("Name 3 ?")
names(2) = Console.ReadLine
Array.Sort(names)
Console.WriteLine("Your names are:")
For x = 0 To 2
Console.WriteLine(names(x))
Next x