Visual Basic .NET

Поделись знанием:
(перенаправлено с «VB.NET»)
Перейти к: навигация, поиск
Visual Basic .NET
Класс языка:

Объектно-ориентированный, Императивный, Структурный, Декларативный

Тип исполнения:

компилируемый, интерпретируемый

Появился в:

2001

Автор:

Microsoft Corporation

Выпуск:

Visual Basic 2015 (5 июля 2015)

Система типов:

Динамическая типизация, Строгая типизация

Основные реализации:

.NET Framework, Mono

Диалекты:

.NET, .NET 2003, 2005, 2008, 2010, 2012, 2013, 2015

Испытал влияние:

Visual Basic 6.0

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





Версии

Существующие версии 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 [msdn.microsoft.com/vstudio/express/default.aspx], в том числе 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.

Изменения по сравнению с 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, изменилась сама парадигма программирования (и это наиболее важное изменение).

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

  • Группа 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), примерно до <math>8 \times 10^{28}</math>[1].
    • Структура данных Structure вместо Type, причём она, подобно классу, допускает методы.
    • Тип Variant переименован в Object. Типы Currency, String*длина упразднены.
  • При описании можно указать начальное значение.

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

  • Структурная обработка исключений: операторы Try/Catch/Finally/Throw, объект Exception.
  • Новые виды оператора присваивания: +=, -=, >>= и др.
  • С версии [2005] появился оператор Continue {For|Do|While} — новый оборот цикла.
  • Оператор Return возвращает значение для функций.
  • Операции сдвига для целых.
  • Новые логические операции AndAlso, OrElse — для них лишние вычисления операндов блокируются. Логические операции Eqv, Imp упразднены.
  • Комплект стандартных функций, работа с элементами управления и многое другое существенно изменены.

Примеры

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

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


Пример кода на 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("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

См. также

Напишите отзыв о статье "Visual Basic .NET"

Примечания

  1. «Содержит 128-битовые (16-байтовые) значения со знаком, представляющие 96-битовые (12-байтовые) целые числа, масштабируемые с переменной степенью 10. Коэффициент масштабирования указывает число цифр справа от десятичной запятой; его диапазон составляет от 0 до 28.» ([msdn.microsoft.com/ru-ru/library/xtba3z33(v=VS.100).aspx Тип данных Decimal (Visual Basic)]).

Ссылки

  • [www.microsoft.com/visualstudio/ru-ru/products/2010-editions/visual-basic-express Страница загрузки Visual Basic 2010 Express]  (рус.)
  • [msdn.microsoft.com/ru-ru/vbasic/bb466226 Практические видео-материалы по Visual Basic]  (англ.)
  • [msdn.microsoft.com/ru-ru/library/we86c8x2.aspx Новые возможности Visual Basic 2010]  (рус.)
  • [msdn.microsoft.com/ru-ru/vbasic/ms789080 Стартовые комплекты и пакеты Power Pack для Visual Basic]  (рус.)
  • [www.asp.net/ Статьи, демонстрации, обзор средств и другие сведения о веб-разработке на языке Visual Basic.]  (англ.)
  • [bit.pirit.info Bit.Pirit.Info] — русскоязычный форум посвящённый программированию на Visual Basic 6.0 и .Net
  • [www.gotdotnet.ru/ GotDotNet.ru] — новости, статьи, форумы по программированию под .NET, в том числе на VB.NET
  • [www.rsdn.ru/ RSDN.ru] — статьи и форумы по программированию, в том числе под .NET
  • [kbyte.ru/ Kbyte.Ru] — информация по программированию с использованием .NET

Литература

  • Уоллес Вонг. 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.


Отрывок, характеризующий Visual Basic .NET

«Погибла ли я для любви князя Андрея или нет? спрашивала она себя и с успокоительной усмешкой отвечала себе: Что я за дура, что я спрашиваю это? Что ж со мной было? Ничего. Я ничего не сделала, ничем не вызвала этого. Никто не узнает, и я его не увижу больше никогда, говорила она себе. Стало быть ясно, что ничего не случилось, что не в чем раскаиваться, что князь Андрей может любить меня и такою . Но какою такою ? Ах Боже, Боже мой! зачем его нет тут»! Наташа успокоивалась на мгновенье, но потом опять какой то инстинкт говорил ей, что хотя всё это и правда и хотя ничего не было – инстинкт говорил ей, что вся прежняя чистота любви ее к князю Андрею погибла. И она опять в своем воображении повторяла весь свой разговор с Курагиным и представляла себе лицо, жесты и нежную улыбку этого красивого и смелого человека, в то время как он пожал ее руку.


Анатоль Курагин жил в Москве, потому что отец отослал его из Петербурга, где он проживал больше двадцати тысяч в год деньгами и столько же долгами, которые кредиторы требовали с отца.
Отец объявил сыну, что он в последний раз платит половину его долгов; но только с тем, чтобы он ехал в Москву в должность адъютанта главнокомандующего, которую он ему выхлопотал, и постарался бы там наконец сделать хорошую партию. Он указал ему на княжну Марью и Жюли Карагину.
Анатоль согласился и поехал в Москву, где остановился у Пьера. Пьер принял Анатоля сначала неохотно, но потом привык к нему, иногда ездил с ним на его кутежи и, под предлогом займа, давал ему деньги.
Анатоль, как справедливо говорил про него Шиншин, с тех пор как приехал в Москву, сводил с ума всех московских барынь в особенности тем, что он пренебрегал ими и очевидно предпочитал им цыганок и французских актрис, с главою которых – mademoiselle Georges, как говорили, он был в близких сношениях. Он не пропускал ни одного кутежа у Данилова и других весельчаков Москвы, напролет пил целые ночи, перепивая всех, и бывал на всех вечерах и балах высшего света. Рассказывали про несколько интриг его с московскими дамами, и на балах он ухаживал за некоторыми. Но с девицами, в особенности с богатыми невестами, которые были большей частью все дурны, он не сближался, тем более, что Анатоль, чего никто не знал, кроме самых близких друзей его, был два года тому назад женат. Два года тому назад, во время стоянки его полка в Польше, один польский небогатый помещик заставил Анатоля жениться на своей дочери.
Анатоль весьма скоро бросил свою жену и за деньги, которые он условился высылать тестю, выговорил себе право слыть за холостого человека.
Анатоль был всегда доволен своим положением, собою и другими. Он был инстинктивно всем существом своим убежден в том, что ему нельзя было жить иначе, чем как он жил, и что он никогда в жизни не сделал ничего дурного. Он не был в состоянии обдумать ни того, как его поступки могут отозваться на других, ни того, что может выйти из такого или такого его поступка. Он был убежден, что как утка сотворена так, что она всегда должна жить в воде, так и он сотворен Богом так, что должен жить в тридцать тысяч дохода и занимать всегда высшее положение в обществе. Он так твердо верил в это, что, глядя на него, и другие были убеждены в этом и не отказывали ему ни в высшем положении в свете, ни в деньгах, которые он, очевидно, без отдачи занимал у встречного и поперечного.
Он не был игрок, по крайней мере никогда не желал выигрыша. Он не был тщеславен. Ему было совершенно всё равно, что бы об нем ни думали. Еще менее он мог быть повинен в честолюбии. Он несколько раз дразнил отца, портя свою карьеру, и смеялся над всеми почестями. Он был не скуп и не отказывал никому, кто просил у него. Одно, что он любил, это было веселье и женщины, и так как по его понятиям в этих вкусах не было ничего неблагородного, а обдумать то, что выходило для других людей из удовлетворения его вкусов, он не мог, то в душе своей он считал себя безукоризненным человеком, искренно презирал подлецов и дурных людей и с спокойной совестью высоко носил голову.
У кутил, у этих мужских магдалин, есть тайное чувство сознания невинности, такое же, как и у магдалин женщин, основанное на той же надежде прощения. «Ей всё простится, потому что она много любила, и ему всё простится, потому что он много веселился».
Долохов, в этом году появившийся опять в Москве после своего изгнания и персидских похождений, и ведший роскошную игорную и кутежную жизнь, сблизился с старым петербургским товарищем Курагиным и пользовался им для своих целей.
Анатоль искренно любил Долохова за его ум и удальство. Долохов, которому были нужны имя, знатность, связи Анатоля Курагина для приманки в свое игорное общество богатых молодых людей, не давая ему этого чувствовать, пользовался и забавлялся Курагиным. Кроме расчета, по которому ему был нужен Анатоль, самый процесс управления чужою волей был наслаждением, привычкой и потребностью для Долохова.
Наташа произвела сильное впечатление на Курагина. Он за ужином после театра с приемами знатока разобрал перед Долоховым достоинство ее рук, плеч, ног и волос, и объявил свое решение приволокнуться за нею. Что могло выйти из этого ухаживанья – Анатоль не мог обдумать и знать, как он никогда не знал того, что выйдет из каждого его поступка.
– Хороша, брат, да не про нас, – сказал ему Долохов.
– Я скажу сестре, чтобы она позвала ее обедать, – сказал Анатоль. – А?
– Ты подожди лучше, когда замуж выйдет…
– Ты знаешь, – сказал Анатоль, – j'adore les petites filles: [обожаю девочек:] – сейчас потеряется.
– Ты уж попался раз на petite fille [девочке], – сказал Долохов, знавший про женитьбу Анатоля. – Смотри!
– Ну уж два раза нельзя! А? – сказал Анатоль, добродушно смеясь.


Следующий после театра день Ростовы никуда не ездили и никто не приезжал к ним. Марья Дмитриевна о чем то, скрывая от Наташи, переговаривалась с ее отцом. Наташа догадывалась, что они говорили о старом князе и что то придумывали, и ее беспокоило и оскорбляло это. Она всякую минуту ждала князя Андрея, и два раза в этот день посылала дворника на Вздвиженку узнавать, не приехал ли он. Он не приезжал. Ей было теперь тяжеле, чем первые дни своего приезда. К нетерпению и грусти ее о нем присоединились неприятное воспоминание о свидании с княжной Марьей и с старым князем, и страх и беспокойство, которым она не знала причины. Ей всё казалось, что или он никогда не приедет, или что прежде, чем он приедет, с ней случится что нибудь. Она не могла, как прежде, спокойно и продолжительно, одна сама с собой думать о нем. Как только она начинала думать о нем, к воспоминанию о нем присоединялось воспоминание о старом князе, о княжне Марье и о последнем спектакле, и о Курагине. Ей опять представлялся вопрос, не виновата ли она, не нарушена ли уже ее верность князю Андрею, и опять она заставала себя до малейших подробностей воспоминающею каждое слово, каждый жест, каждый оттенок игры выражения на лице этого человека, умевшего возбудить в ней непонятное для нее и страшное чувство. На взгляд домашних, Наташа казалась оживленнее обыкновенного, но она далеко была не так спокойна и счастлива, как была прежде.
В воскресение утром Марья Дмитриевна пригласила своих гостей к обедни в свой приход Успенья на Могильцах.
– Я этих модных церквей не люблю, – говорила она, видимо гордясь своим свободомыслием. – Везде Бог один. Поп у нас прекрасный, служит прилично, так это благородно, и дьякон тоже. Разве от этого святость какая, что концерты на клиросе поют? Не люблю, одно баловство!