簡體   English   中英

Visual Basic嵌套數組字符串輸出到實際的整數數組嗎?

[英]Visual basic nested array string output to an actual array of integers?

嗨,我不得不問你們一個問題。

我有一個函數,可以將array 10個元素組合在一起,可以為我生成5個所有組合的string 。基本數組是一個對象,因此可以是char或integer,在這種情況下為0-9整數。

Dim base() As Object = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}

我的功能的輸出可以是這樣

""

並存儲在一個對象變量中(之所以說對象,是因為我可以使用與char使用對象char數組相同的函數來輸出相同的結果:

 Dim base() As Object = {"a", "b", "a", "c", "d", "e", "f", "g", "h", "i"} )

經過一些工作,如果我使用第一個數組:

<pre lang="cs">Dim base() As Object = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}</pre> 

我設法收到了這個輸出:

myarray = "{{0,1,2,3,4},{0,1,2,3,5},{0,1,2,3,6},{0,1,2,3,7},{0,1,2,3,8},{0,1,2,3,9},{0,1,2,4,5},{0,1,2,4,6},{0,1,2,4,7},{0,1,2,4,8},{0,1,2,4,9},{0,1,2,5,6},{0,1,2,5,7},{0,1,2,5,8},{0,1,2,5,9},{0,1,2,6,7},{0,1,2,6,8},{0,1,2,6,9},{0,1,2,7,8},{0,1,2,7,9},{0,1,2,8,9},{0,1,3,4,5},{0,1,3,4,6},{0,1,3,4,7},{0,1,3,4,8},{0,1,3,4,9},{0,1,3,5,6},{0,1,3,5,7},{0,1,3,5,8},{0,1,3,5,9},{0,1,3,6,7},{0,1,3,6,8},{0,1,3,6,9},{0,1,3,7,8},{0,1,3,7,9},{0,1,3,8,9},{0,1,4,5,6},{0,1,4,5,7},{0,1,4,5,8},{0,1,4,5,9},{0,1,4,6,7},{0,1,4,6,8},{0,1,4,6,9},{0,1,4,7,8},{0,1,4,7,9},{0,1,4,8,9},{0,1,5,6,7},{0,1,5,6,8},{0,1,5,6,9},{0,1,5,7,8},{0,1,5,7,9},{0,1,5,8,9},{0,1,6,7,8},{0,1,6,7,9},{0,1,6,8,9},{0,1,7,8,9},{0,2,3,4,5},{0,2,3,4,6},{0,2,3,4,7},{0,2,3,4,8},{0,2,3,4,9},{0,2,3,5,6},{0,2,3,5,7},{0,2,3,5,8},{0,2,3,5,9},{0,2,3,6,7},{0,2,3,6,8},{0,2,3,6,9},{0,2,3,7,8},{0,2,3,7,9},{0,2,3,8,9},{0,2,4,5,6},{0,2,4,5,7},{0,2,4,5,8},{0,2,4,5,9},{0,2,4,6,7},{0,2,4,6,8},{0,2,4,6,9},{0,2,4,7,8},{0,2,4,7,9},{0,2,4,8,9},{0,2,5,6,7},{0,2,5,6,8},{0,2,5,6,9},{0,2,5,7,8},{0,2,5,7,9},{0,2,5,8,9},{0,2,6,7,8},{0,2,6,7,9},{0,2,6,8,9},{0,2,7,8,9},{0,3,4,5,6},{0,3,4,5,7},{0,3,4,5,8},{0,3,4,5,9},{0,3,4,6,7},{0,3,4,6,8},{0,3,4,6,9},{0,3,4,7,8},{0,3,4,7,9},{0,3,4,8,9},{0,3,5,6,7},{0,3,5,6,8},{0,3,5,6,9},{0,3,5,7,8},{0,3,5,7,9},{0,3,5,8,9},{0,3,6,7,8},{0,3,6,7,9},{0,3,6,8,9},{0,3,7,8,9},{0,4,5,6,7},{0,4,5,6,8},{0,4,5,6,9},{0,4,5,7,8},{0,4,5,7,9},{0,4,5,8,9},{0,4,6,7,8},{0,4,6,7,9},{0,4,6,8,9},{0,4,7,8,9},{0,5,6,7,8},{0,5,6,7,9},{0,5,6,8,9},{0,5,7,8,9},{0,6,7,8,9},{1,2,3,4,5},{1,2,3,4,6},{1,2,3,4,7},{1,2,3,4,8},{1,2,3,4,9},{1,2,3,5,6},{1,2,3,5,7},{1,2,3,5,8},{1,2,3,5,9},{1,2,3,6,7},{1,2,3,6,8},{1,2,3,6,9},{1,2,3,7,8},{1,2,3,7,9},{1,2,3,8,9},{1,2,4,5,6},{1,2,4,5,7},{1,2,4,5,8},{1,2,4,5,9},{1,2,4,6,7},{1,2,4,6,8},{1,2,4,6,9},{1,2,4,7,8},{1,2,4,7,9},{1,2,4,8,9},{1,2,5,6,7},{1,2,5,6,8},{1,2,5,6,9},{1,2,5,7,8},{1,2,5,7,9},{1,2,5,8,9},{1,2,6,7,8},{1,2,6,7,9},{1,2,6,8,9},{1,2,7,8,9},{1,3,4,5,6},{1,3,4,5,7},{1,3,4,5,8},{1,3,4,5,9},{1,3,4,6,7},{1,3,4,6,8},{1,3,4,6,9},{1,3,4,7,8},{1,3,4,7,9},{1,3,4,8,9},{1,3,5,6,7},{1,3,5,6,8},{1,3,5,6,9},{1,3,5,7,8},{1,3,5,7,9},{1,3,5,8,9},{1,3,6,7,8},{1,3,6,7,9},{1,3,6,8,9},{1,3,7,8,9},{1,4,5,6,7},{1,4,5,6,8},{1,4,5,6,9},{1,4,5,7,8},{1,4,5,7,9},{1,4,5,8,9},{1,4,6,7,8},{1,4,6,7,9},{1,4,6,8,9},{1,4,7,8,9},{1,5,6,7,8},{1,5,6,7,9},{1,5,6,8,9},{1,5,7,8,9},{1,6,7,8,9},{2,3,4,5,6},{2,3,4,5,7},{2,3,4,5,8},{2,3,4,5,9},{2,3,4,6,7},{2,3,4,6,8},{2,3,4,6,9},{2,3,4,7,8},{2,3,4,7,9},{2,3,4,8,9},{2,3,5,6,7},{2,3,5,6,8},{2,3,5,6,9},{2,3,5,7,8},{2,3,5,7,9},{2,3,5,8,9},{2,3,6,7,8},{2,3,6,7,9},{2,3,6,8,9},{2,3,7,8,9},{2,4,5,6,7},{2,4,5,6,8},{2,4,5,6,9},{2,4,5,7,8},{2,4,5,7,9},{2,4,5,8,9},{2,4,6,7,8},{2,4,6,7,9},{2,4,6,8,9},{2,4,7,8,9},{2,5,6,7,8},{2,5,6,7,9},{2,5,6,8,9},{2,5,7,8,9},{2,6,7,8,9},{3,4,5,6,7},{3,4,5,6,8},{3,4,5,6,9},{3,4,5,7,8},{3,4,5,7,9},{3,4,5,8,9},{3,4,6,7,8},{3,4,6,7,9},{3,4,6,8,9},{3,4,7,8,9},{3,5,6,7,8},{3,5,6,7,9},{3,5,6,8,9},{3,5,7,8,9},{3,6,7,8,9},{4,5,6,7,8},{4,5,6,7,9},{4,5,6,8,9},{4,5,7,8,9},{4,6,7,8,9},{5,6,7,8,9}} " 

存儲在object變量中。

我的問題是如何在實際的dimensional array轉換上面的輸出(對象變量)?

例如: Dim convertedarray() = convert(myarray)

我的第二個問題是如何從上述(myarray)計算所有arrays並將結果存儲在另一個multi dimensional array ,例如: dim myresults = calculate(myarray)以輸出如下內容: myresults = {{10},{11},{etc....}}這僅在我使用整數數組時,我不想計算一個char ...

我已經寫了一個將字符串轉換為2D數組的簡單示例,如果您知道正則表達式,則可以進一步簡化它。

但我認為,找到組合后,構建起來會容易得多。

同樣,使用列表可能更簡單,您將不需要計算尺寸大小。

Sub Main()

    Dim Arraystring As String = "{{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2}}"


    Dim comboTotal As Integer = 3
    Dim comboSize As Integer = 5
    'Need to know dimension sizes to create 2d array - otherwise use list
    Dim DimensionalArray(comboTotal, comboSize) As Integer


    Console.WriteLine("Initial String: " & Arraystring & vbNewLine)


    'Clean up string into CSV
    Dim subStringList() As String = Arraystring.Split("},")


    For i = 0 To subStringList.Count - 1
        subStringList(i) = subStringList(i).Replace(",{", "")
        subStringList(i) = subStringList(i).Replace("{", "")
        Console.WriteLine(subStringList(i))
    Next

    'Start adding and moving down the array
    For i = 0 To subStringList.Count - 1

        'Count array index
        Dim numCount = 0

        'Read in each number - implictly converted to int
        For Each number In subStringList(i).Split(New String() {","}, StringSplitOptions.RemoveEmptyEntries)
            Console.WriteLine("Adding Value: " & number)
            DimensionalArray(i, numCount) = number

            'Move along the array
            numCount += 1
        Next
    Next



    'Try accessing some elements of the new array
    Console.WriteLine(vbNewLine & "Accessing [0][4]: " & DimensionalArray(0, 4))
    Console.WriteLine("Accessing [1][2]: " & DimensionalArray(1, 2))
    Console.WriteLine("Accessing [2][0]: " & DimensionalArray(2, 0))


    Console.ReadLine()

End Sub

控制台輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM