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

Структуры. Определение структур в программе.

Обратите внимание на возвращение структуры функцией Add. Кстати, поля структур не могут инициализироваться при объявлении:

Private m_real As Double = 0 ' Ошибка

Между структурами и ссылочными объектами существует еще одно принципиальное различие: использование открытых полей вместо свойств Get-Set в структурах широко распространено и не считается проявлением плохого стиля программирования, как для объектов. Это связано с тем, что поля экземпляров обычно относятся к базовым типам. Например, переопределение приведенной выше структуры ComplexNumber с открытыми полями Real и Imaginary не вызовет особых проблем.

Структуры создаются вызовом New или при присваивании значений их полям. Обращения к полям структур осуществляются так же, как и обращения к свойствам объектов. Ниже приведен пример использования структуры Compl exNumber:

Sub Main()
Dim Z1 As New ComplexNumber(2.3. 2.4)
Dim Z2.Z3 As ComplexNumber
Z2.real = 1.3
Z2.complex =1.4
Z3 = Zl.Add(Z2)
Console. WriteLine(Z3 .real)
Console.ReadLine()
End Sub

Примечание
Текущая версия VB.NET не позволяет переопределять смысл операторов (то есть про-изводить перегрузку операторов), поэтому нам пришлось определить метод Add вместо того, чтобы задать новое определение для оператора "+". Возможность перегрузки операторов должна появиться в будущих версиях VB.NET. Если вы хотите, чтобы в сегодняшней версии вашего пакета для работы с комплексными числами сложение выполнялось знаком "+", придется использовать С#
.

Структуры могут содержать любые объекты VB.NET, в том числе другие структуры, перечисляемые типы, массивы и т. д. Таким образом, на VB.NET можно написать пакет для работы с матрицами, в котором основная структура данных будет определяться следующим образом:

Public Structure Matrix
Private TheOata(,) As Double
' И т.д.
End Structure
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.