我试图理解
NEW
关键字与对象列表一起使用时。
示例A:
这将打印出Class值=10 10次。
Public Class TestClass
Private _testInt As Integer
Property TestInt As Integer
Get
Return _testInt
End Get
Set(value As Integer)
_testInt = value
End Set
End Property
End Class
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim test As New List(Of TestClass)
Dim localTest = New TestClass
For i As Integer = 0 To 10
localTest.TestInt = i
test.Add(localTest)
Next
For i As Integer = 0 To 10
Console.WriteLine("Class value = " & test(i).TestInt.ToString)
Next
End Sub
示例B:
如果我提出
localTest
在循环内部,它将输出Class值=1到10。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim test As New List(Of TestClass)
For i As Integer = 0 To 10
Dim localTest = New TestClass
localTest.TestInt = i
test.Add(localTest)
Next
For i As Integer = 0 To 10
Console.WriteLine("Class value = " & test(i).TestInt.ToString)
Next
End Sub
在我看来
本地测试
当
test
就像指向对象的指针列表。
问题1。
是
本地测试
对象的实例或指向对象的指针?
问题2。
是
测验
对象的多个实例或指向对象的指针列表?如果是的话
不
指针列表,为什么示例a打印出Class值=10 10次?
问题3。
你能解释一下为什么会这样吗
New
关键字表示处理对象与对象集合或对象列表时的区别?
任何额外的见解都会很棒。非常感谢。
编辑:
我在下面标记了一个被接受的答案,主要是因为它包含了一个非常有用的网页链接。网页上写着以下内容,帮助我了解了发生的事情:
可以为变量指定引用类型或值类型
对象数据类型的。Object变量始终包含指向
数据,而不是数据本身。但是,如果指定值类型
对于Object变量,它的行为就像保存自己的数据一样。