作爲初學者程序員,我試圖理解變量聲明的概念並在Visual Basic中賦值。我從一個指導課程考慮這個代碼:變量聲明和賦值
Imports System.Text
Module Module1
Sub Main()
Dim myString As StringBuilder = New StringBuilder
For i = 1 To 10
myString.Append("-")
myString.Append(i)
Next
Console.WriteLine(myString)
Console.ReadLine()
End Sub
End Module
我的困惑是由於線路:
Dim myString As StringBuilder = New StringBuilder
我認爲正在發生的事情是,我宣佈mystring變量作爲一個新的對象實例StringBuilder類(我希望我在這裏正確使用'object'和'class'這個詞)。但是,爲什麼隨後需要將myString分配給New StringBuilder?我不是用Dim創建一個StringBuilder嗎?在這個例子中New運算符的作用是什麼?
任何有助於我理解的解釋是非常感謝。
_Dim的StringBuilder作爲StringBuilder_宣告一個StringBuilder實例的引用不存在的,直到你打電話給New。 New在內存中的某處創建實例,並將_reference_返回到實例所在的內存區域。 – Steve
PS我在發佈之前發現了這個討論,但不幸的是它沒有具體解決我的問題。 http://stackoverflow.com/questions/467843/vb-net-dim-vs-new –
該行確實**兩個**事物:'Dim'聲明代碼將使用變量'myString',這將是類型'StringBuilder'。 'New'創建一個可以使用的'StringBuilder'實例。 – Plutonix