【发布时间】:2014-01-09 19:11:02
【问题描述】:
我只是想知道这个
Dim _Label As Label = Form1.Label1
_Label.Text = "New Text" ' This work Form1.Label1.Text changed to "New Text"
这是否像 ByRef 是这个指针,,,它是如何工作的?
【问题讨论】:
我只是想知道这个
Dim _Label As Label = Form1.Label1
_Label.Text = "New Text" ' This work Form1.Label1.Text changed to "New Text"
这是否像 ByRef 是这个指针,,,它是如何工作的?
【问题讨论】:
是的,它是一个指针。在 .NET 中,某些类型的变量总是像指针一样工作,而其他类型则不然。在 .NET 中,指针类型称为引用类型,而非指针类型称为值类型。引用类型由类定义。值类型由结构定义。例如:
Public Class MyReferenceType
' ...
End Class
Public Structure MyValueType
' ...
End Structure
与其他一些语言(如 C)不同,在 C 中,是否为每个变量单独确定变量是否为指针,在 .NET 中,它为类型定义一次,并且该决定全局影响该类型的所有变量/对象。引用类型对象(类对象)总是存储在堆上,值类型对象(结构对象)总是存储在栈上。
【讨论】:
Label 是一个类。因此,您声明的任何Label 变量将始终充当指针。你问的是这个吗?