Visual Basic .NET
Изображение логотипа
Класс языка Объектно-ориентированный, Императивный, Структурный, Декларативный
Тип исполнения компилируемый, интерпретируемый
Появился в 2002
Автор Microsoft Corporation
Расширение файлов .vb
Выпуск Visual Basic 2022 (17.8)[1] (2022; 2 года назад (2022))
Система типов Динамическая типизация, Строгая типизация
Основные реализации .NET Framework, Mono, .NET
Диалекты .NET, .NET 2003, 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022
Испытал влияние Visual Basic 6.0
Лицензия Apache License 2.0
Сайт docs.microsoft.com/ru-ru…
Платформа .NET Framework, Mono и .NET
ОС Windows, Android, BSD, iOS, Linux, macOS, Solaris и UNIX
Логотип Викисклада Медиафайлы на Викискладе

Visual Basic .NET (VB.NET) — объектно-ориентированный язык программирования, который можно рассматривать как очередной виток эволюции Visual Basic (VB), реализованный на платформе .NET Framework. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0). Развитие проектов старых версий (*.vbp) возможно только после предварительной конвертации их в формат VB.NET специальным мастером (Migration Wizard); однако, как правило, после конвертации требуется существенная ручная доработка текстов. 11 марта 2020 г. Microsoft объявила о стабилизации стандарта языка VB.NET и продолжении его поддержки[2].

Версии

[править | править код]

Существующие версии VB.NET:

Изменения по сравнению с VB 6.0

[править | править код]

Важнейшие изменения в VB.NET следующие.

  1. Поддержка концепций объектно-ориентированного программирования с конструкторами и деструкторами, наследованием, перекрытием методов (Overrides) и др. Есть даже переопределение знаков операций.
  2. Компиляция в байт-код (intermediate language, IL), исполняемый с помощью виртуальной машины common language runtime (CLR).
  3. Использование всего набора объектных библиотек, входящих в .NET Framework, включающих мощные средства по работе с формами (Windows Forms), базами данных (ADO.NET), графикой (GDI+), средствами обеспечения безопасности, веб-страницами (ASP.NET) и т. п.
  4. Поддержка свободной многопоточности.
  5. Поддержка структурной обработки исключений (structured exception handling, SEH).

С переходом на платформу .NET, изменилась сама парадигма программирования (и это наиболее важное изменение).

Программная структура

[править | править код]

Данные

[править | править код]

Новые средства языка

[править | править код]

Примеры

[править | править код]

Схема простейшего алгоритма на Visual Basic .NET, позволяющего изменить значение свойства объекта:

<имя объекта>.<свойство> = <значение>


Пример кода на Visual Basic .NET:

    Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Графика
        Using CG = Me.CreateGraphics
             CG.DrawBezier(New System.Drawing.Pen(Color.Blue), 0, 0, 100, 100, 600, 600, 0, 400)
             CG.DrawBezier(New System.Drawing.Pen(Color.Blue), 0, 0, 600, 600, 100, 100, 400, 0)
             CG.DrawLine(New System.Drawing.Pen(Color.Blue), 0, 0, 600, 600)
        End Using
        'Система
        MessageBox.Show("User name: " + My.User.Name.ToString + vbCrLf + _
                        "Screen name: " + My.Computer.Screen.DeviceName.ToString + vbCrLf + _
                        "Ports count: " + My.Computer.Ports.SerialPortNames.Count.ToString, _
                         "Box Caption", MessageBoxButtons.OK, MessageBoxIcon.Error)
        'Сеть
        Using WC As New System.Net.WebClient
            WC.DownloadFile("http://server.net/filename.exe", "C:\myfile.exe")
        End Using
    End Sub
    End Class

Hello, World

В консольном приложении

Module Module1
    Sub Main()
        Console.WriteLine("Hello, World!")
    End Sub
End Module

В форме

Private Sub HW()
Dim helloworld As New Label 'объявление новой переменной типа label
        With helloworld 'позволяет указывать свойства объекта без написания его имени
            .Text = "Hello, World"
            .AutoSize = vbYes
            .Font = New Font(.Text, 48)
            .Location = new point(100, 100)
            .Visible = True
        End With
        Me.Controls.Add(helloworld) 'добавление созданного объекта на форму
End sub

См. также

[править | править код]

Примечания

[править | править код]
  1. "Новые возможности Visual Basic". Архивировано 29 августа 2023. Дата обращения: 29 августа 2023.
  2. Visual Basic support planned for .NET 5.0 (амер. англ.). Visual Basic Blog (11 марта 2020). Дата обращения: 15 июля 2022. Архивировано 5 января 2022 года.
  3. «Содержит 128-битовые (16-байтовые) значения со знаком, представляющие 96-битовые (12-байтовые) целые числа, масштабируемые с переменной степенью 10. Коэффициент масштабирования указывает число цифр справа от десятичной запятой; его диапазон составляет от 0 до 28.» (Тип данных Decimal (Visual Basic) Архивная копия от 12 марта 2014 на Wayback Machine).

Ссылки

[править | править код]

Литература

[править | править код]