VB.NET 2010,.NET 4VB.NET指針值類型
您好所有,
我決不是一個優秀的程序員,我只是想環繞一些我的頭這個東西,所以請原諒我,如果這是一個愚蠢的問題。
我想下面產生一個消息框,上面寫着「2」,而不是「5」:
Public Class SomeClass
Private SomeInt As Integer = 5
Private SomeListOfInts As New List(Of Integer)
Public Sub New()
SomeListOfInts.Add(SomeInt)
SomeListOfInts(0) = 2
MsgBox(SomeInt.ToString)
End Sub
End Class
這是行不通的。消息框中顯示「5」。我認爲我理解爲什麼在某種程度上。由於SomeInt是一個值類型,因此將它添加到SomeListOfInts只是添加一個副本。如果這是不連貫的,我很抱歉。有沒有簡單的方法來完成這個?
由於提前, 布賴恩
編輯:「這是不是嘗試做一件好事,」我只是想補充一點,我懷疑folks'll說:「爲什麼嘗試這樣做」 /等等。我對此有所瞭解,並希望知道更好的方法,但是,我也普遍好奇這樣的事情可能會如何完成,無論是不是好的做法。另外,如果這不是好的做法(無論這意味着什麼),爲什麼?
「副本可以改變而不影響原始」的事實正是我的問題。我*要*影響原件。我想我想要的是一個將*引用*存儲爲整數的列表,以便我可以通過像SomeListOfInts(0)= 2 *改變原始變量而不是改變副本。 – 2010-11-12 00:50:13
本質上,我想要SomeListOfInts(0)= 2的行來將SomeInt的值更改爲2.我一直在閱讀關於IntPtr的內容,但它超出了我的頭,並且超出了我想嘗試的範圍。 – 2010-11-12 00:51:35