Иллюстрированный самоучитель по VB.NET




Объектные переменные - часть 2


Для примера рассмотрим следующий фрагмент:

Sub Maln()

Dim A As New ArrayList()

Dim В As ArrayList

В = А

B.Add("foo")

Console.WriteLine(A.Count)

Console.ReadLine() End Sub

Динамический массив А также будет содержать строку foo, поэтому выведенное значение A.Count будет равно 1.

Если вы знакомы с языками, в которых широко используются указатели (например, С или Pascal), вы увидите, что у объектных переменных есть много общего с указателями. Главное различие состоит в том, что разыменование (dereferencing) объектных переменных происходит автоматически и с ними не могут выполняться математические операции.

Поскольку в VB .NET строки и массивы являются объектами, следует помнить, что для работы с ними используются объектные переменные. Как было показано в главе 3, это позволяет использовать встроенные возможности соответствующих классов при помощи синтаксиса «.». Например, при работе с массивом через переменную апАггау команда anArray.Sort() отсортирует массив чрезвычайно эффективным методом быстрой сортировки.

К сожалению, за все хорошее приходится платить. Передача объектных переменных по значению связана с определенными трудностями, которые теперь распространяются и на стандартные объекты вроде массивов. Данная тема рассматривается в. разделе «Проблемы с передачей объектных переменных по значению» этой главы.

Как и в прежних версиях VB, объектные переменные могут использоваться для получения более компактной записи. Например, в следующем фрагменте определяется короткое имя аВох, которое будет использоваться вместо длинного Му-

Form.TextBoxl:

Dim aBox As System.Windows.Forms.TextBox aBox = MyForm.TextBoxl

Подобные сокращения часто используются в сочетании с ключевым словом With:

With aBox

.AutoSize =False

.Height =1000

.Width =200

.Text ="Hello"

End With




Содержание  Назад  Вперед