在vb.net中使用变量引用对象(Visual Studio 2008)
我在对象名中使用变量时遇到问题 我有一门公共课,叫做“坦克” 在该类中,有一个称为整数类型的“direction”的公共属性 我不断得到错误: “Tank是一个类型,不能用作表达式” 我做错了什么在vb.net中使用变量引用对象(Visual Studio 2008),vb.net,class,object,variables,instance,Vb.net,Class,Object,Variables,Instance,我在对象名中使用变量时遇到问题 我有一门公共课,叫做“坦克” 在该类中,有一个称为整数类型的“direction”的公共属性 我不断得到错误: “Tank是一个类型,不能用作表达式” 我做错了什么 Public Class mainroutines() ' Create Instances of tank Private Tank1 As New Tank() Private Tank2 As New Tank() 'Loop trough objects and set the pr
Public Class mainroutines()
' Create Instances of tank
Private Tank1 As New Tank()
Private Tank2 As New Tank()
'Loop trough objects and set the property value
dim i as integer
For i = 1 to 2
Tank(i).direction = 1
next i
End class
那么,储罐(i)
并不等同于储罐1
。您需要创建一个坦克列表,将实例添加到其中,并以这种方式访问它们
Public Class mainroutines()
' Create Instances of tank '
Dim allTanks As List(Of Tank) = New List(Of Tank)
allTanks.Add(New Tank())
allTanks.Add(New Tank())
'Loop through objects and set the property value '
dim i as integer
For i = 1 to 2
allTanks(i).direction = 1
next i
您没有坦克阵列:
Public Class mainroutines()
' Create Instances of tank
Private Tank1 As New Tank()
Private Tank2 As New Tank()
'Loop trough objects and set the property value
Dim tanks() As Tank
tanks(0) = Tank1
tanks(1) = Tank2
For i As Integer = 1 To 2
tanks(i).direction = 1
next
End class
如果您使用的是Visual Studio 2008,则可以使用:
Private Tank1 As New Tank() With { .Direction = 1}
Private Tank2 As New Tank() With { .Direction = 1}
因此,您根本不需要For循环。@Jball
它需要一个小的修正,你的例子工作得很好!
正是我需要的
Dim alltanks As List(Of Tank) = New List(Of Tank)
非常感谢你的帮助 谢谢你的回答,循环只是一个例子。我正在写一个游戏,我需要一个坦克给玩家1,一个给玩家2。player是一个整数类型的变量,是1或2,这取决于在我的代码中控制的播放器。我经常需要更改方向,或者坦克的x,y坐标,我喜欢将坦克称为坦克(玩家)。方向或坦克(玩家)。x+=5或坦克(玩家)。livesleft-=1我必须测试你的答案