如何按名称遍历变量



如果我有以下代码:

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

我如何通过名称迭代所有的答案变量?答案[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

EDITED

纠正你的代码,它应该是:

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)。

最简单的方法是创建一个要遍历的值数组:

Dim answer = {answer1, answer2, ...(and so on)} '*** 

关于如何在VB.Net中使用数组的更多信息,您可以查看http://msdn.microsoft.com/en-us/library/y13tek7e.aspx。

除此之外,还可以使用一种称为反射的技术来做您想做的事情——但是我怀疑这可能比您希望的要复杂得多。您可以通过阅读这篇文章获得关于在VB.net中使用反射的良好介绍:http://msdn.microsoft.com/en-us/magazine/cc163750.aspx .

相关内容

  • 没有找到相关文章

最新更新