我正在努力学习VB。
我想将字符串数组转换为int数组,然后对in的新数组进行排序并将其显示在一行中。
实施例: 输入 2 4 1 2 5
结果:1 2 2 4 5
我尝试了一些解决方案但没有工作
这是我目前的代码:
Dim stringnum As String = "4 2 3"
Dim result() As String = Split(stringnum, " ")
Dim intList() As Integer
intList = result.ConvertAll(Function(s) Integer.Parse(s))
Console.WriteLine(Join(intList))
Console.ReadLine()
答案 0 :(得分:5)
尝试以下
Console.WriteLine("Input your numbers :")
Dim stringnum = Console.ReadLine()
Dim result = Split(stringnum, " ")
Dim intList = Array.ConvertAll(result, Function(str) Integer.Parse(str))
Array.Sort(intList)
Console.WriteLine(String.Join(" ", intList))
Console.ReadLine()
答案 1 :(得分:0)
我想将字符串数组转换为int数组,然后对in的新数组进行排序并将其显示在一行中。
这里主要使用Linq
Imports System
Imports System.Linq
Public Module Module1
Public Sub Main()
Console.WriteLine("Input your numbers :")
Dim stringnum = Console.ReadLine()
Console.WriteLine(String.Join(" ", stringnum.Split(" ").Select(Function(str) Integer.Parse(str)).OrderBy(Function(x) x)))
End Sub
End Module
分割字符串Split()
后,从数组中选择每个数字并将它们解析为整数.Select(Function(str) Integer.Parse(str))
。这应该提供现在可以排序.OrderBy(Function(x) x)
并连接在一起以获得结果输出的整数
答案 2 :(得分:0)
尽管别人说和思考,你仍然无法击败经典的表演方法......
Dim stringnum As String = "4 2 3"
Dim result() As String = Split(stringnum, " ")
Dim intList(Ubound(result)) as integer
For I as integer = 0 to ubound(result)
Integer.TryParse(Result(i), intList(I))
Next
Array.Sort(intList)
Console.WriteLine(String.Join(" ", intList))
我仍然认为大多数快捷方式只是LAZY编码。如果您不知道如何正确执行,可能除了某些排序功能外。