![](/img/trans.png)
[英]How do I select specific variables based on checkbox state as I iterate through a For Each
[英]How do I iterate through variables by name?
如果我有以下代碼:
Private answer1 as boolean = false
Private answer2 as boolean = false
Private answer3 as boolean = false
.
.
Private answer100 as boolean = false
Private Sub check_answers()
For x As Integer = 0 To 100
if answer[x] = true then
' do something
else
' do something else
endif
Next
End Sub
如何按名稱遍歷所有答案變量? answer [x]選項不起作用。 謝謝。
而不是擁有100個變量。 只需一個列表。
Private answers As New List(Of Boolean)
然后,您可以檢查列表中的單個項目(不是'()'而不是'[]')
if answers(x) = true then
另外,您可以預填充100個項目
For x As Integer = 1 To 100
answers.Add(False)
Next
最簡單的方法是創建要迭代的值的數組:
Dim answer = {answer1, answer2, ...(and so on)} '***
您可以查看http://msdn.microsoft.com/zh-cn/library/y13tek7e.aspx ,以獲取有關如何在VB.Net中使用數組的更多信息。
除此之外,還可以使用一種稱為反射的技術來做您想做的事情-但是我懷疑這可能比您想的要復雜。 通過閱讀以下文章,可以很好地介紹如何在VB.net中使用反射: http : //msdn.microsoft.com/zh-cn/magazine/cc163750.aspx 。
已編輯
更正您的代碼,它將是:
Private answers(100) as boolean
'The array starts from 0
Private Sub check_answers()
For x As Integer = 0 To 100
if answers(x) then
' do something
else
' do something else
endif
Next
End Sub
數組從0開始,最后一個元素是聲明中使用的值(例如, answers(100)
會有101個元素-從0到100)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.