Visual Basic .NET
| Visual Basic .NET | |
|---|---|
| Класс языка | Объектно-ориентированный,Императивный,Структурный,Декларативный |
| Тип исполнения | компилируемый,интерпретируемый |
| Появился в | 2002 |
| Автор | Microsoft Corporation |
| Расширение файлов | .vb |
| Выпуск | Visual Basic 2022 (17.8)[1] (2022; 4 года назад (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:
- Visual Basic .NET (VB 7.0) — выпущен в 2002 году, вместе сVisual C# иASP.NET
- Visual Basic .NET 2003 (VB 7.1) — выпущена вместе с.NET Framework 1.1; имеется русскоязычная версия с русским MSDN
- Visual Basic 2005 (VB 8.0) — выпущена в конце октября 2005 года, в составе Visual Studio 2005
- Visual Basic 2005 Express — выпущена в начале ноября 2005 года совместно с другими продуктами линейки Express[1], в том числеSQL Server 2005 Express Edition. Предлагается для бесплатного скачивания и использования. Требует.NET Framework 2.0.
- Visual Basic 2008 (VB 9.0)
- Visual Basic 2008 Express — бесплатная упрощённая версия, выпущенная параллельно с новым продуктом. Предлагается для бесплатного скачивания и использования. Требует.NET Framework 3.5. Имеется русскоязычная версия с русским MSDN для VS 2008 Express Edition.
- Visual Basic 2010 (VB 10.0) Требует.NET Framework 4.
- Visual Basic 2010 Express — бесплатная упрощённая версия. Предлагается для бесплатного скачивания и использования. Требует.NET Framework 4.
- Visual Basic 2012 (VB 11.0) Требует.NET Framework 4.5.
- Visual Basic 2013 (VB 12.0) Требует.NET Framework 4.5.1.
- Visual Basic 2015 (VB 14.0) Требует.NET Framework 4.6.
- Visual Basic 2017 (VB 15.0) Требует.NET Framework 4.6.
- Visual Basic 2019 (VB 16.0) Требует.NET Framework 4.8.
- Visual Basic 2022 (VB 17.0) Требует.NET Framework 4.8.
Изменения по сравнению с VB 6.0
[править |править код]Важнейшие изменения в VB.NET следующие.
- Поддержка концепцийобъектно-ориентированного программирования сконструкторами идеструкторами,наследованием, перекрытием методов (Overrides) и др. Есть даже переопределение знаков операций.
- Компиляция вбайт-код (intermediate language,IL), исполняемый с помощью виртуальной машиныcommon language runtime (CLR).
- Использование всего набора объектных библиотек, входящих в .NET Framework, включающих мощные средства по работе с формами (Windows Forms), базами данных (ADO.NET), графикой (GDI+), средствами обеспечения безопасности, веб-страницами (ASP.NET) и т. п.
- Поддержка свободной многопоточности.
- Поддержкаструктурной обработки исключений (structured exception handling,SEH).
С переходом на платформу .NET, изменилась самапарадигма программирования (и это наиболее важное изменение).
Программная структура
[править |править код]- Группа Interface — прототипы классов, Implements — их реализация.
- Аппарат Namespaces для предотвращения конфликтов имён.
Данные
[править |править код]- Режим жёсткой проверки типов (Option Strict).
- Новые или изменённые типы данных:
- Char (беззнаковое слово, содержащееUnicode-символ).
- String теперь всегда содержит двухбайтовые Unicode-символы.
- Short (вместо прежнего Integer), 16 битов.(от −32768 до 32767)
- Integer (вместо прежнего Long), 32 бита.(от −2147483648 до 2147483647)
- Long (целое, 64 бита, от −9223372036854775808 до 9223372036854775807).
- Их беззнаковые варианты:
- UShort (от 0 до 65535),
- UInteger (от 0 до 4294967295),
- ULong (от 0 до 18446744073709551615).
- Байт со знаком: SByte.
- Decimal (96-битовое целое, масштабированное требуемой степенью 10), примерно до[3].
- Структура данных Structure вместо Type, причём она, подобно классу, допускает методы.
- Тип Variant переименован в Object. Типы Currency, String*длина упразднены.
- При описании можно указать начальное значение.
Новые средства языка
[править |править код]- Структурная обработка исключений: операторы Try/Catch/Finally/Throw, объект Exception.
- Новые виды оператора присваивания: +=, -=, >>= и др.
- С версии [2005] появился оператор Continue {For|Do|While} — новый оборот цикла.
- Оператор Return возвращает значение для функций.
- Операции сдвига для целых.
- Новые логические операции AndAlso, OrElse — для них лишние вычисления операндов блокируются. Логические операции Eqv, Imp упразднены.
- Комплект стандартных функций, работа с элементами управления и многое другое существенно изменены.
Примеры
[править |править код]Схема простейшего алгоритма на Visual Basic .NET, позволяющего изменить значение свойства объекта:
<имя объекта>.<свойство> =<значение>
Пример кода на Visual Basic .NET:
PublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click'ГрафикаUsingCG=Me.CreateGraphicsCG.DrawBezier(NewSystem.Drawing.Pen(Color.Blue),0,0,100,100,600,600,0,400)CG.DrawBezier(NewSystem.Drawing.Pen(Color.Blue),0,0,600,600,100,100,400,0)CG.DrawLine(NewSystem.Drawing.Pen(Color.Blue),0,0,600,600)EndUsing'Система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)'СетьUsingWCAsNewSystem.Net.WebClientWC.DownloadFile("http://server.net/filename.exe","C:\myfile.exe")EndUsingEndSubEndClass
Hello, World
В консольном приложении
ModuleModule1SubMain()Console.WriteLine("Hello, World!")EndSubEndModule
В форме
PrivateSubHW()DimhelloworldAsNewLabel'объявление новой переменной типа labelWithhelloworld'позволяет указывать свойства объекта без написания его имени.Text="Hello, World".AutoSize=vbYes.Font=NewFont(.Text,48).Location=newpoint(100,100).Visible=TrueEndWithMe.Controls.Add(helloworld)'добавление созданного объекта на формуEndsub
См. также
[править |править код]Примечания
[править |править код]- ↑Новые возможности Visual Basic.Архивировано 29 августа 2023. Дата обращения: 29 августа 2023.
- ↑Visual Basic support planned for .NET 5.0 (амер. англ.). Visual Basic Blog (11 марта 2020). Дата обращения: 15 июля 2022. Архивировано 5 января 2022 года.
- ↑«Содержит 128-битовые (16-байтовые) значения со знаком, представляющие 96-битовые (12-байтовые) целые числа, масштабируемые с переменной степенью 10. Коэффициент масштабирования указывает число цифр справа от десятичной запятой; его диапазон составляет от 0 до 28.» (Тип данных Decimal (Visual Basic)Архивная копия от 12 марта 2014 наWayback Machine).
Ссылки
[править |править код]- Страница загрузки Visual Basic 2010 Express (рус.)
- Практические видео-материалы по Visual Basic (англ.)
- Новые возможности Visual Basic 2010 (рус.)
- Стартовые комплекты и пакеты Power Pack для Visual Basic (рус.)
- Статьи, демонстрации, обзор средств и другие сведения о веб-разработке на языке Visual Basic. (англ.)
- Bit.Pirit.Info — русскоязычный форум посвящённый программированию на Visual Basic 6.0 и .Net
Литература
[править |править код]- Евангелос Петрусос. Эффективная работа: Visual Basic .NET, Питер, 2002. С. 928.ISBN 5-94723-175-1
- Дан Эпплман. Переход на VB.NET стратегии, концепции, код. Питер, 2002. - С. 464.ISBN 5318007465, 9785318007460
- Уоллес Вонг. Microsoft Visual Basic .NET для "чайников" = Visual Basic.NET For Dummies. —М.:«Диалектика», 2003. — С. 336. —ISBN 0-7645-0867-9.
- Джеффри П. Мак-Манус, Джеки Голдштейн, Кевин T. Прайс. Обработка баз данных на Visual Basic .NET = Database Access with Visual Basic.NET. —М.:«Вильямс», 2003. — С. 416. —ISBN 0-672-32343-5.
- Клейтон Валнум. The Complete Idiot's Guide to Visual Basic .NET = The Complete Idiot's Guide to Visual Basic .NET. —М.:«Издательство АСТ», 2004. — С. 366. —ISBN 5-17-024833-4.