Как начинающий программист Я пытаюсь понять понятия объявления переменных и назначения значений в 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 (надеюсь, что здесь я правильно использую слова «объект» и «класс»). Однако почему myString впоследствии необходимо назначить New StringBuilder? Разве я не сделал это StringBuilder с Dim? Какова роль оператора New в этом примере?
Любое объяснение, которое помогает мне понять, очень ценится.
_Dim StringBuilder, как StringBuilder_ объявляет ссылку на экземпляр StringBuilder, который не существует, пока вы вызовите New. Новый создает экземпляр где-то в памяти и возвращает _reference_ в эту область памяти, где экземпляр существует. – Steve
PS Я нашел это обсуждение перед публикацией, но, к сожалению, оно не касалось моего вопроса. http://stackoverflow.com/questions/467843/vb-net-dim-vs-new –
Эта строка делает ** две вещи: 'Dim' заявляет, что код будет использовать переменную' myString', которая будет типа 'StringBuilder'. 'New' создает экземпляр' StringBuilder', который можно использовать. – Plutonix