如何将字符串数组转换为整数数组

时间:2017-02-27 18:23:06

标签: vb.net console-application

我正在努力学习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()

3 个答案:

答案 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编码。如果您不知道如何正确执行,可能除了某些排序功能外。