[英]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.