2015-07-13 20 views
-1

我試圖做一個簡單的凱基應用程序中使用一個變量的值中的另一個名稱(希望以後發展的話)和正在運行到一個問題,我命名變量:如何在VB.NET

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim keylength As Double = TrackBar1.Value 
    Dim baseloop As Double = 1 
    Dim charpos As Double = 1 
    Do While baseloop < keylength 
     Randomize() 
     Dim name As String = "num" & charpos 
     Dim (name) As Integer = CInt(Int((62 * Rnd()) + 1)) 
     'I would like to name this variable the current value of the variable "name". 
     baseloop = baseloop + 1 
     charpos = charpos + 1 
    Loop 
End Sub 

最終結果應該是隨機加倍(與TrackBar1.Value一樣多),其中包含從1-62開始的隨機雙打,並命名爲num1,num2,num3等....然後,我可以用a,2替換所有的1與B等等...

感謝您的幫助

+0

這聽起來像你需要的是一個數組來存儲你的62值。 – sstan

+0

好的,但我不知道最終的字符串將會是多長時間...我需要能夠創建無限的numX值....我不需要幫助重新分配值,我需要USING幫助下一個變量的命名中的名稱的值。那是我唯一需要幫助的地方......無論如何,感謝您的時間 – Yapoz

+1

您無法做到您的要求,並且簡單。您可以將字典對象作爲從循環變量構建的字符串,然後爲該值賦予一個值。這是一個關鍵/值對。或者你需要別的東西,但是不知道你的意圖是不是很難說。 – OneFineDay

回答

0

如前所述,你聲稱想要做是不可能的。您不能在運行時聲明任意數量的變量,因爲變量是在設計時聲明的。如果你想存儲任意數量的值,那麼你聲明一個變量,併爲該變量分配一些數組或集合。一個數組可以在運行時以任意大小創建,集合可以在運行時增長到任意大小。基本上,你試圖做的是徹底的錯誤。

如果您需要任意數量的Double值,則創建一個基於用戶定義值的大小的數組,然後僅循環以填充它,例如,

Dim values(userDefinedValue - 1) As Double 

For i = 0 To values.GetUpperBound(0) 
    '... 
Next 

然後,您可以按索引訪問這些值。第一個值是索引0,第二個索引是1,...,最後是索引GetUpperBound(0)

+0

謝謝,我發現了一種不同的方式來做我想做的事情:使用finalkey變量,並使用命令'finalkey = finalkey&xxx'逐個添加一個生成的字符(使用隨機函數)感謝您的幫助,我很感激,我也會考慮這個解決方案。 – Yapoz