Visual Basic. NET

Visual Basic. NET (VB.NET) - це об'єктно-орієнтований мова програмування, який можна розглядати як черговий виток еволюції Visual Basic (VB), реалізований на платформі Microsoft. NET. VB.NET не має зворотної сумісності з більш ранньою версією (Visual Basic 6.0). Розвиток проектів старих версій (*. Vbp) можливе лише після попередньої конвертації їх у формат VB.NET спеціальним майстром (Migration Wizard); однак, як правило, після конвертації потрібна істотна ручна доробка текстів.


1. Версії

Існуючі версії 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.

2. Зміни в порівнянні з 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, змінилася сама парадигма програмування (і це найбільш важлива зміна).


2.1. Програмна структура

  • Група Interface - прототипи класів, Implements - їх реалізація.
  • Апарат Namespaces для запобігання конфліктів імен.

2.2. Дані

  • Режим жорсткої перевірки типів (Option Strict).
  • Нові або змінені типи даних:
    • Char (беззнакове слово, що містить Unicode -символ).
    • String тепер завжди містить двобайтові Unicode-символи.
    • Short (замість колишнього Integer), 16 бітів.
    • Integer (замість колишнього Long), 32 біта.
    • Long (ціле, 64 біта, до 9.223.372.036.854.775.808).
      • Їх беззнакові варіанти UShort, UInteger, ULong.
    • Байт зі знаком: SByte.
    • Decimal (96-бітове ціле, масштабувати необхідної ступенем 10), приблизно до 8 \ times 10 ^ {28} [1].
    • Структура даних Structure замість Type, причому вона, подібно класу, допускає методи.
    • Тип Variant перейменований в Object. Типи Currency, String * довжина скасовані.
  • При описі можна вказати початкове значення.

2.3. Нові засоби мови

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

3. Приклади

Схема найпростішого алгоритму на 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 

Примітки

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