簡體   English   中英

如何按名稱遍歷變量?

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

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