VB.Net — Обзор
Visual Basic .NET (VB.NET) — это объектно-ориентированный язык программирования, реализованный на .NET Framework. Хотя это развитие классического языка Visual Basic, он не имеет обратной совместимости с VB6, и любой код, написанный в старой версии, не компилируется в VB.NET.
Как и все другие языки .NET, VB.NET полностью поддерживает объектно-ориентированные концепции. Все в VB.NET является объектом, включая все примитивные типы (Short, Integer, Long, String, Boolean и т. Д.) И определяемые пользователем типы, события и даже сборки. Все объекты наследуются от базового класса Object.
VB.NET реализован на платформе Microsoft .NET. Следовательно, он имеет полный доступ ко всем библиотекам .Net Framework. Также возможно запускать программы VB.NET в Mono, альтернативе .NET с открытым исходным кодом, не только под Windows, но даже под Linux или Mac OSX.
Следующие причины делают VB.Net широко используемым профессиональным языком —
-
Современный, общего назначения.
-
Объектно-ориентированный.
-
Компонент ориентирован.
-
Легко обучаема.
-
Структурированный язык.
-
Он производит эффективные программы.
-
Он может быть скомпилирован на различных компьютерных платформах.
-
Часть .Net Framework.
Современный, общего назначения.
Объектно-ориентированный.
Компонент ориентирован.
Легко обучаема.
Структурированный язык.
Он производит эффективные программы.
Он может быть скомпилирован на различных компьютерных платформах.
Часть .Net Framework.
Сильные возможности программирования VB.Net
VB.Net имеет множество сильных функций программирования, которые делают его привлекательным для множества программистов по всему миру. Давайте упомянем некоторые из этих функций —
-
Булевы условия
-
Автоматическая сборка мусора
-
Стандартная библиотека
-
Версии сборки
-
Свойства и События
-
Управление делегатами и мероприятиями
-
Простота в использовании Generics
-
индексаторы
-
Условная компиляция
-
Простая многопоточность
Булевы условия
Автоматическая сборка мусора
Стандартная библиотека
Версии сборки
Свойства и События
Управление делегатами и мероприятиями
Простота в использовании Generics
индексаторы
Условная компиляция
Простая многопоточность
VB.Net — Настройка среды
В этой главе мы обсудим инструменты, доступные для создания приложений VB.Net.
Мы уже упоминали, что VB.Net является частью .Net Framework и используется для написания .Net приложений. Поэтому, прежде чем обсуждать доступные инструменты для запуска программы VB.Net, давайте разберемся, как VB.Net относится к платформе .Net.
.Net Framework
.Net Framework — это революционная платформа, которая помогает вам писать приложения следующих типов:
-
Приложения для Windows
-
Веб-приложения
-
Веб-сервисы
Приложения для Windows
Веб-приложения
Веб-сервисы
Приложения .Net Framework являются мультиплатформенными приложениями. Фреймворк спроектирован таким образом, что его можно использовать на любом из следующих языков: Visual Basic, C #, C ++, Jscript и COBOL и т. Д.
Все эти языки могут получить доступ к структуре, а также общаться друг с другом.
.Net Framework состоит из огромной библиотеки кодов, используемых клиентскими языками, такими как VB.Net. Эти языки используют объектно-ориентированную методологию.
Ниже приведены некоторые компоненты .Net Framework —
-
Common Language Runtime (CLR)
-
Библиотека классов .Net Framework
-
Спецификация общего языка
-
Система общего типа
-
Метаданные и сборки
-
Windows Forms
-
ASP.Net и ASP.Net AJAX
-
ADO.Net
-
Windows Workflow Foundation (WF)
-
Windows Presentation Foundation
-
Windows Communication Foundation (WCF)
-
LINQ
Common Language Runtime (CLR)
Библиотека классов .Net Framework
Спецификация общего языка
Система общего типа
Метаданные и сборки
Windows Forms
ASP.Net и ASP.Net AJAX
ADO.Net
Windows Workflow Foundation (WF)
Windows Presentation Foundation
Windows Communication Foundation (WCF)
LINQ
Работы, выполняемые каждым из этих компонентов, см. В разделе ASP.Net — Введение , а сведения о каждом компоненте см. В документации Microsoft.
Интегрированная среда разработки (IDE) для VB.Net
Microsoft предоставляет следующие инструменты разработки для программирования на VB.Net —
-
Visual Studio 2010 (VS)
-
Visual Basic 2010 Express (VBE)
-
Visual Web Developer
Visual Studio 2010 (VS)
Visual Basic 2010 Express (VBE)
Visual Web Developer
Последние два бесплатны. Используя эти инструменты, вы можете писать все виды программ VB.Net от простых приложений командной строки до более сложных приложений. Выпуски Visual Basic Express и Visual Web Developer Express являются урезанными версиями Visual Studio и имеют одинаковый внешний вид. Они сохраняют большинство функций Visual Studio. В этом руководстве мы использовали Visual Basic 2010 Express и Visual Web Developer (для главы по веб-программированию).
Вы можете скачать его здесь . Он автоматически устанавливается на ваш компьютер. Обратите внимание, что вам нужно активное подключение к Интернету для установки экспресс-издания.
Написание программ на VB.Net для Linux или Mac OS
Хотя .NET Framework работает в операционной системе Windows, есть несколько альтернативных версий, которые работают в других операционных системах. Mono — это версия .NET Framework с открытым исходным кодом, включающая компилятор Visual Basic и работающая в нескольких операционных системах, включая различные версии Linux и Mac OS. Самая последняя версия VB 2012.
Заявленная цель Mono состоит не только в том, чтобы иметь возможность запускать кроссплатформенные приложения Microsoft .NET, но и в том, чтобы предлагать разработчикам Linux более совершенные инструменты разработки. Mono может работать на многих операционных системах, включая Android, BSD, iOS, Linux, OS X, Windows, Solaris и UNIX.
VB.Net — Структура программы
Прежде чем изучать основные строительные блоки языка программирования VB.Net, давайте взглянем на минимальную минимальную структуру программы VB.Net, чтобы ее можно было использовать в качестве справочного материала в следующих главах.
Пример Hello World от VB.Net
Программа VB.Net в основном состоит из следующих частей —
-
Объявление пространства имен
-
Класс или модуль
-
Одна или несколько процедур
-
переменные
-
Основная процедура
-
Заявления и выражения
-
Комментарии
Объявление пространства имен
Класс или модуль
Одна или несколько процедур
переменные
Основная процедура
Заявления и выражения
Комментарии
Давайте посмотрим на простой код, который будет печатать слова «Hello World» —
Imports System Module Module1 'This program will display Hello World Sub Main() Console.WriteLine("Hello World") Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Hello, World!
Давайте посмотрим различные части вышеуказанной программы —
-
Первая строка программы Imports System используется для включения в программу пространства имен System.
-
Следующая строка имеет объявление Module , модуль Module1 . VB.Net является полностью объектно-ориентированным, поэтому каждая программа должна содержать модуль класса, который содержит данные и процедуры, используемые вашей программой.
-
Классы или Модули обычно содержат более одной процедуры. Процедуры содержат исполняемый код или, другими словами, они определяют поведение класса. Процедура может быть любой из следующих:
-
функция
-
Sub
-
оператор
-
Получить
-
Задавать
-
AddHandler
-
RemoveHandler
-
RaiseEvent
-
-
Следующая строка (‘Эта программа) будет игнорироваться компилятором, и она была добавлена для добавления дополнительных комментариев в программу.
-
Следующая строка определяет основную процедуру, которая является точкой входа для всех программ VB.Net. Процедура Main указывает, что будет делать модуль или класс при выполнении.
-
Основная процедура определяет свое поведение с помощью оператора
Console.WriteLine («Hello World») WriteLine — это метод класса Console, определенный в пространстве имен System . Это утверждение вызывает сообщение «Hello, World!» быть отображенным на экране.
-
Последняя строка Console.ReadKey () предназначена для пользователей VS.NET. Это предотвратит быстрый запуск и закрытие экрана при запуске программы из Visual Studio .NET.
Первая строка программы Imports System используется для включения в программу пространства имен System.
Следующая строка имеет объявление Module , модуль Module1 . VB.Net является полностью объектно-ориентированным, поэтому каждая программа должна содержать модуль класса, который содержит данные и процедуры, используемые вашей программой.
Классы или Модули обычно содержат более одной процедуры. Процедуры содержат исполняемый код или, другими словами, они определяют поведение класса. Процедура может быть любой из следующих:
функция
Sub
оператор
Получить
Задавать
AddHandler
RemoveHandler
RaiseEvent
Следующая строка (‘Эта программа) будет игнорироваться компилятором, и она была добавлена для добавления дополнительных комментариев в программу.
Следующая строка определяет основную процедуру, которая является точкой входа для всех программ VB.Net. Процедура Main указывает, что будет делать модуль или класс при выполнении.
Основная процедура определяет свое поведение с помощью оператора
Console.WriteLine («Hello World») WriteLine — это метод класса Console, определенный в пространстве имен System . Это утверждение вызывает сообщение «Hello, World!» быть отображенным на экране.
Последняя строка Console.ReadKey () предназначена для пользователей VS.NET. Это предотвратит быстрый запуск и закрытие экрана при запуске программы из Visual Studio .NET.
Скомпилируйте и выполните программу VB.Net
Если вы используете Visual Studio.Net IDE, сделайте следующее:
-
Запустите Visual Studio.
-
В строке меню выберите Файл → Создать → Проект.
-
Выберите Visual Basic из шаблонов
-
Выберите Консольное приложение.
-
Укажите имя и местоположение вашего проекта с помощью кнопки «Обзор», а затем нажмите кнопку «ОК».
-
Новый проект появится в Solution Explorer.
-
Напишите код в редакторе кода.
-
Нажмите кнопку «Выполнить» или клавишу F5, чтобы запустить проект. Появится окно командной строки, содержащее строку Hello World.
Запустите Visual Studio.
В строке меню выберите Файл → Создать → Проект.
Выберите Visual Basic из шаблонов
Выберите Консольное приложение.
Укажите имя и местоположение вашего проекта с помощью кнопки «Обзор», а затем нажмите кнопку «ОК».
Новый проект появится в Solution Explorer.
Напишите код в редакторе кода.
Нажмите кнопку «Выполнить» или клавишу F5, чтобы запустить проект. Появится окно командной строки, содержащее строку Hello World.
Вы можете скомпилировать программу VB.Net, используя командную строку вместо Visual Studio IDE —
-
Откройте текстовый редактор и добавьте вышеупомянутый код.
-
Сохраните файл как helloworld.vb
-
Откройте инструмент командной строки и перейдите в каталог, где вы сохранили файл.
-
Введите vbc helloworld.vb и нажмите Enter, чтобы скомпилировать ваш код.
-
Если в вашем коде нет ошибок, командная строка переместит вас на следующую строку и сгенерирует исполняемый файл helloworld.exe .
-
Затем введите helloworld, чтобы выполнить вашу программу.
-
Вы сможете увидеть «Hello World», напечатанный на экране.
Откройте текстовый редактор и добавьте вышеупомянутый код.
Сохраните файл как helloworld.vb
Откройте инструмент командной строки и перейдите в каталог, где вы сохранили файл.
Введите vbc helloworld.vb и нажмите Enter, чтобы скомпилировать ваш код.
Если в вашем коде нет ошибок, командная строка переместит вас на следующую строку и сгенерирует исполняемый файл helloworld.exe .
Затем введите helloworld, чтобы выполнить вашу программу.
Вы сможете увидеть «Hello World», напечатанный на экране.
VB.Net — Базовый синтаксис
VB.Net является объектно-ориентированным языком программирования. В методологии объектно-ориентированного программирования программа состоит из различных объектов, которые взаимодействуют друг с другом посредством действий. Действия, которые может выполнять объект, называются методами. Говорят, что объекты одного и того же типа имеют один и тот же тип или, чаще всего, они принадлежат к одному и тому же классу.
Когда мы рассматриваем программу VB.Net, она может быть определена как набор объектов, которые взаимодействуют посредством вызова методов друг друга. Давайте теперь кратко рассмотрим, что означают переменные класса, объекта, метода и экземпляра.
-
Объект — объекты имеют состояния и поведение. Пример: у собаки есть состояния — цвет, имя, порода, а также поведение — вилять, лаять, есть и т. Д. Объект является экземпляром класса.
-
Класс — класс может быть определен как шаблон / план, который описывает поведение / состояния, которые поддерживают объекты его типа.
-
Методы . Метод — это в основном поведение. Класс может содержать много методов. Именно в методах пишутся логики, манипулируются данными и выполняются все действия.
-
Переменные экземпляра — каждый объект имеет свой уникальный набор переменных экземпляра. Состояние объекта создается значениями, назначенными этим переменным экземпляра.
Объект — объекты имеют состояния и поведение. Пример: у собаки есть состояния — цвет, имя, порода, а также поведение — вилять, лаять, есть и т. Д. Объект является экземпляром класса.
Класс — класс может быть определен как шаблон / план, который описывает поведение / состояния, которые поддерживают объекты его типа.
Методы . Метод — это в основном поведение. Класс может содержать много методов. Именно в методах пишутся логики, манипулируются данными и выполняются все действия.
Переменные экземпляра — каждый объект имеет свой уникальный набор переменных экземпляра. Состояние объекта создается значениями, назначенными этим переменным экземпляра.
Класс Rectangle в VB.Net
Например, давайте рассмотрим объект Rectangle. У него есть атрибуты, такие как длина и ширина. В зависимости от конструкции могут потребоваться способы принятия значений этих атрибутов, расчета площади и отображения деталей.
Давайте посмотрим на реализацию класса Rectangle и обсудим базовый синтаксис VB.Net на основе наших наблюдений в нем —
Imports System Public Class Rectangle Private length As Double Private width As Double 'Public methods Public Sub AcceptDetails() length = 4.5 width = 3.5 End Sub Public Function GetArea() As Double GetArea = length * width End Function Public Sub Display() Console.WriteLine("Length: {0}", length) Console.WriteLine("Width: {0}", width) Console.WriteLine("Area: {0}", GetArea()) End Sub Shared Sub Main() Dim r As New Rectangle() r.Acceptdetails() r.Display() Console.ReadLine() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Length: 4.5 Width: 3.5 Area: 15.75
В предыдущей главе мы создали модуль Visual Basic, который содержал код. Sub Main указывает точку входа в программу VB.Net. Здесь мы используем класс, который содержит как код, так и данные. Вы используете классы для создания объектов. Например, в коде r является объектом Rectangle.
Объект является экземпляром класса —
Dim r As New Rectangle()
Класс может иметь членов, которые могут быть доступны извне класса, если это указано. Члены данных называются полями, а члены процедур — методами.
Общие методы или статические методы могут быть вызваны без создания объекта класса. Методы экземпляра вызываются через объект класса —
Shared Sub Main() Dim r As New Rectangle() r.Acceptdetails() r.Display() Console.ReadLine() End Sub
Идентификаторы
Идентификатор — это имя, используемое для идентификации класса, переменной, функции или любого другого пользовательского элемента. Основные правила именования классов в VB.Net следующие:
-
Имя должно начинаться с буквы, за которой может следовать последовательность букв, цифр (0 — 9) или подчеркивания. Первый символ в идентификаторе не может быть цифрой.
-
Он не должен содержать каких-либо встроенных пробелов или символов, как? — +! @ #% ^ & * () [] {}. ; : «‘/ and \. Однако можно использовать подчеркивание (_).
-
Это не должно быть зарезервированным ключевым словом.
Имя должно начинаться с буквы, за которой может следовать последовательность букв, цифр (0 — 9) или подчеркивания. Первый символ в идентификаторе не может быть цифрой.
Он не должен содержать каких-либо встроенных пробелов или символов, как? — +! @ #% ^ & * () [] {}. ; : «‘/ and \. Однако можно использовать подчеркивание (_).
Это не должно быть зарезервированным ключевым словом.
Ключевые слова VB.Net
В следующей таблице перечислены зарезервированные ключевые слова VB.Net —
AddHandler | AddressOf | кличка | А также | А также | Как | логический |
ByRef | Байт | ByVal | Вызов | случай | Ловить | CBool |
CByte | CChar | CDate | CDec | CDbl | голец | CInt |
Учебный класс | CLng | CObj | Const | Продолжить | CSByte | CShort |
CSng | CStr | CType | CUInt | CULng | CUShort | Дата |
Десятичный | декларировать | По умолчанию | делегат | тусклый | DirectCast | Делать |
двойной | каждый | еще | ElseIf | Конец | End If | Enum |
стирать | ошибка | Событие | Выход | Ложь | в заключение | За |
друг | функция | Получить | GetType | Пространство имен GetXML | Глобальный | Идти к |
рукоятки | Если | инвентарь | импорт | В | Inherits | целое число |
Интерфейс | Является | Не является | Позволять | Lib | подобно | Долго |
петля | мне | модификация | модуль | MustInherit | MustOverride | MyBase |
Мои занятия | Пространство имен | уменьшение | новый | следующий | Не | Ничего такого |
Не наследуется | Не может быть переопределено | объект | из | На | оператор | вариант |
Необязательный | Или же | OrElse | Перегрузки | Overridable | Переопределение | ParamArray |
частичный | Частный | Имущество | защищенный | общественного | RaiseEvent | ReadOnly |
ReDim | REM | Удалить обработчик | Продолжить | Вернуть | SByte | Выбрать |
Задавать | Тени | Общий | короткий | не замужем | статический | шаг |
Стоп | строка | Состав | Sub | SyncLock | затем | бросать |
к | Правда | Пытаться | TryCast | Тип | UInteger | В то время как |
Расширяя | С | WithEvents | WriteOnly | Xor |
VB.Net — Типы данных
Типы данных относятся к обширной системе, используемой для объявления переменных или функций различных типов. Тип переменной определяет, сколько места она занимает в хранилище и как интерпретируется сохраненный битовый шаблон.
Типы данных, доступные в VB.Net
VB.Net предоставляет широкий спектр типов данных. В следующей таблице показаны все доступные типы данных —
Тип данных | Распределение памяти | Диапазон значений |
---|---|---|
логический | Зависит от реализации платформы | Правда или ложь |
Байт | 1 байт | От 0 до 255 (без знака) |
голец | 2 байта | От 0 до 65535 (без знака) |
Дата | 8 байт | 0:00:00 (полночь) 1 января 0001 г. до 23:59:59 31 декабря 9999 г. |
Десятичный | 16 байт | От 0 до +/- 79,228,162,514,264,337,593,543,950,335 (+/- 7,9 … E + 28) без десятичной точки; От 0 до +/- 7,9228162514264337593543950335 с 28 знаками справа от десятичной дроби |
двойной | 8 байт |
-1,79769313486231570E + 308 — -4,94065645841246544E-324, для отрицательных значений 4.94065645841246544E-324 — 1.79769313486231570E + 308, для положительных значений |
целое число | 4 байта | От -2 147 483 648 до 2 147 483 647 (подписано) |
Долго | 8 байт | -9 223 372 036 854 775 808–2 223 372 036 854 775 807 (подписано) |
объект |
4 байта на 32-битной платформе 8 байт на 64-битной платформе |
Любой тип может храниться в переменной типа Object |
SByte | 1 байт | От -128 до 127 (подписано) |
короткий | 2 байта | От -32 768 до 32 767 (подписано) |
не замужем | 4 байта |
От -3,4028235E + 38 до -1,401298E-45 для отрицательных значений; От 1.401298E-45 до 3.4028235E + 38 для положительных значений |
строка | Зависит от реализации платформы | От 0 до примерно 2 миллиардов символов Юникода |
UInteger | 4 байта | От 0 до 4 294 967 295 (без знака) |
ULong | 8 байт | От 0 до 18 446 744 073 709 551 615 (без знака) |
Определяемые пользователем | Зависит от реализации платформы | Каждый член структуры имеет диапазон, определяемый его типом данных и не зависящий от диапазонов других членов |
UShort | 2 байта | От 0 до 65 535 (без знака) |
-1,79769313486231570E + 308 — -4,94065645841246544E-324, для отрицательных значений
4.94065645841246544E-324 — 1.79769313486231570E + 308, для положительных значений
4 байта на 32-битной платформе
8 байт на 64-битной платформе
От -3,4028235E + 38 до -1,401298E-45 для отрицательных значений;
От 1.401298E-45 до 3.4028235E + 38 для положительных значений
пример
В следующем примере демонстрируется использование некоторых типов:
Module DataTypes Sub Main() Dim b As Byte Dim n As Integer Dim si As Single Dim d As Double Dim da As Date Dim c As Char Dim s As String Dim bl As Boolean b = 1 n = 1234567 si = 0.12345678901234566 d = 0.12345678901234566 da = Today c = "U"c s = "Me" If ScriptEngine = "VB" Then bl = True Else bl = False End If If bl Then 'the oath taking Console.Write(c & " and," & s & vbCrLf) Console.WriteLine("declaring on the day of: {0}", da) Console.WriteLine("We will learn VB.Net seriously") Console.WriteLine("Lets see what happens to the floating point variables:") Console.WriteLine("The Single: {0}, The Double: {1}", si, d) End If Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
U and, Me declaring on the day of: 12/4/2012 12:00:00 PM We will learn VB.Net seriously Lets see what happens to the floating point variables: The Single:0.1234568, The Double: 0.123456789012346
Функции преобразования типов в VB.Net
VB.Net предоставляет следующие встроенные функции преобразования типов —
Sr.No. | Функции и описание |
---|---|
1 |
CBool (выражение) Преобразует выражение в логический тип данных. |
2 |
CByte (выражение) Преобразует выражение в тип данных Byte. |
3 |
CChar (выражение) Преобразует выражение в тип данных Char. |
4 |
CDate (выражение) Преобразует выражение в тип данных Date |
5 |
CDbl (выражение) Преобразует выражение в тип данных Double. |
6 |
CDec (выражение) Преобразует выражение в тип данных Decimal. |
7 |
CInt (выражение) Преобразует выражение в тип данных Integer. |
8 |
CLng (выражение) Преобразует выражение в тип данных Long. |
9 |
CObj (выражение) Преобразует выражение в тип объекта. |
10 |
CSByte (выражение) Преобразует выражение в тип данных SByte. |
11 |
CShort (выражение) Преобразует выражение в тип данных Short. |
12 |
CSng (выражение) Преобразует выражение в тип данных Single. |
13 |
CStr (выражение) Преобразует выражение в тип данных String. |
14 |
CUInt (выражение) Преобразует выражение в тип данных UInt. |
15 |
CULng (выражение) Преобразует выражение в тип данных ULng. |
16 |
CUShort (выражение) Преобразует выражение в тип данных UShort. |
CBool (выражение)
Преобразует выражение в логический тип данных.
CByte (выражение)
Преобразует выражение в тип данных Byte.
CChar (выражение)
Преобразует выражение в тип данных Char.
CDate (выражение)
Преобразует выражение в тип данных Date
CDbl (выражение)
Преобразует выражение в тип данных Double.
CDec (выражение)
Преобразует выражение в тип данных Decimal.
CInt (выражение)
Преобразует выражение в тип данных Integer.
CLng (выражение)
Преобразует выражение в тип данных Long.
CObj (выражение)
Преобразует выражение в тип объекта.
CSByte (выражение)
Преобразует выражение в тип данных SByte.
CShort (выражение)
Преобразует выражение в тип данных Short.
CSng (выражение)
Преобразует выражение в тип данных Single.
CStr (выражение)
Преобразует выражение в тип данных String.
CUInt (выражение)
Преобразует выражение в тип данных UInt.
CULng (выражение)
Преобразует выражение в тип данных ULng.
CUShort (выражение)
Преобразует выражение в тип данных UShort.
пример
В следующем примере демонстрируются некоторые из этих функций:
Module DataTypes Sub Main() Dim n As Integer Dim da As Date Dim bl As Boolean = True n = 1234567 da = Today Console.WriteLine(bl) Console.WriteLine(CSByte(bl)) Console.WriteLine(CStr(bl)) Console.WriteLine(CStr(da)) Console.WriteLine(CChar(CChar(CStr(n)))) Console.WriteLine(CChar(CStr(da))) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
True -1 True 12/4/2012 1 1
VB.Net — Переменные
Переменная — это не что иное, как имя, данное области памяти, которой могут манипулировать наши программы. Каждая переменная в VB.Net имеет определенный тип, который определяет размер и расположение памяти переменной; диапазон значений, которые могут быть сохранены в этой памяти; и набор операций, которые могут быть применены к переменной.
Мы уже обсуждали различные типы данных. Основные типы значений, представленные в VB.Net, могут быть классифицированы как —
Тип | пример |
---|---|
Интегральные типы | SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong и Char |
Типы с плавающей точкой | Одноместные и двухместные |
Десятичные типы | Десятичный |
Булевы типы | Истинные или Ложные значения, как назначено |
Типы дат | Дата |
VB.Net также позволяет определять другие типы значений переменных, таких как Enum, и ссылочные типы переменных, таких как Class . Мы обсудим типы дат и классы в следующих главах.
Объявление переменных в VB.Net
Оператор Dim используется для объявления переменных и выделения памяти для одной или нескольких переменных. Оператор Dim используется на уровне модуля, класса, структуры, процедуры или блока.
Синтаксис для объявления переменных в VB.Net —
[ < attributelist > ] [ accessmodifier ] [[ Shared ] [ Shadows ] | [ Static ]] [ ReadOnly ] Dim [ WithEvents ] variablelist
Куда,
-
attributetelist — это список атрибутов, которые применяются к переменной. Необязательный.
-
accessmodifier определяет уровни доступа к переменным, он имеет значения как — Public, Protected, Friend, Protected Friend и Private. Необязательный.
-
Shared объявляет общую переменную, которая не связана с каким-либо конкретным экземпляром класса или структуры, скорее доступна для всех экземпляров класса или структуры. Необязательный.
-
Тени указывают, что переменная повторно объявляет и скрывает элемент с одинаковым именем или набор перегруженных элементов в базовом классе. Необязательный.
-
Статический указывает, что переменная сохранит свое значение, даже если после завершения процедуры, в которой она объявлена. Необязательный.
-
ReadOnly означает, что переменная может быть прочитана, но не записана. Необязательный.
-
WithEvents указывает, что переменная используется для ответа на события, вызванные экземпляром, назначенным переменной. Необязательный.
-
Переменный список предоставляет список объявленных переменных.
attributetelist — это список атрибутов, которые применяются к переменной. Необязательный.
accessmodifier определяет уровни доступа к переменным, он имеет значения как — Public, Protected, Friend, Protected Friend и Private. Необязательный.
Shared объявляет общую переменную, которая не связана с каким-либо конкретным экземпляром класса или структуры, скорее доступна для всех экземпляров класса или структуры. Необязательный.
Тени указывают, что переменная повторно объявляет и скрывает элемент с одинаковым именем или набор перегруженных элементов в базовом классе. Необязательный.
Статический указывает, что переменная сохранит свое значение, даже если после завершения процедуры, в которой она объявлена. Необязательный.
ReadOnly означает, что переменная может быть прочитана, но не записана. Необязательный.
WithEvents указывает, что переменная используется для ответа на события, вызванные экземпляром, назначенным переменной. Необязательный.
Переменный список предоставляет список объявленных переменных.
Каждая переменная в списке переменных имеет следующий синтаксис и части —
variablename[ ( [ boundslist ] ) ] [ As [ New ] datatype ] [ = initializer ]
Куда,
-
имя переменной — это имя переменной
-
Boundslist — необязательно. Он предоставляет список границ каждого измерения переменной массива.
-
Новый — необязательно. Он создает новый экземпляр класса, когда выполняется оператор Dim.
-
Тип данных — Обязательный, если Option Strict включен. Он определяет тип данных переменной.
-
инициализатор — Необязательно, если Новый не указан. Выражение, которое оценивается и присваивается переменной при ее создании.
имя переменной — это имя переменной
Boundslist — необязательно. Он предоставляет список границ каждого измерения переменной массива.
Новый — необязательно. Он создает новый экземпляр класса, когда выполняется оператор Dim.
Тип данных — Обязательный, если Option Strict включен. Он определяет тип данных переменной.
инициализатор — Необязательно, если Новый не указан. Выражение, которое оценивается и присваивается переменной при ее создании.
Некоторые действительные объявления переменных вместе с их определением показаны здесь —
Dim StudentID As Integer Dim StudentName As String Dim Salary As Double Dim count1, count2 As Integer Dim status As Boolean Dim exitButton As New System.Windows.Forms.Button Dim lastTime, nextTime As Date
Инициализация переменных в VB.Net
Переменные инициализируются (присваиваются значения) со знаком равенства, за которым следует постоянное выражение. Общая форма инициализации —
variable_name = value;
например,
Dim pi As Double pi = 3.14159
Вы можете инициализировать переменную во время объявления следующим образом:
Dim StudentID As Integer = 100 Dim StudentName As String = "Bill Smith"
пример
Попробуйте следующий пример, который использует различные типы переменных —
Module variablesNdataypes Sub Main() Dim a As Short Dim b As Integer Dim c As Double a = 10 b = 20 c = a + b Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
a = 10, b = 20, c = 30
Принятие значений от пользователя
Класс Console в пространстве имен System предоставляет функцию ReadLine для приема ввода от пользователя и сохранения его в переменной. Например,
Dim message As String message = Console.ReadLine
Следующий пример демонстрирует это —
Module variablesNdataypes Sub Main() Dim message As String Console.Write("Enter message: ") message = Console.ReadLine Console.WriteLine() Console.WriteLine("Your Message: {0}", message) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат (предположим, что пользователь вводит Hello World) —
Enter message: Hello World Your Message: Hello World
Lvalues и Rvalues
Есть два вида выражений —
-
lvalue — выражение, являющееся lvalue, может отображаться как слева или справа от присваивания.
-
rvalue — выражение, являющееся rvalue, может появляться справа, но не слева от присваивания.
lvalue — выражение, являющееся lvalue, может отображаться как слева или справа от присваивания.
rvalue — выражение, являющееся rvalue, может появляться справа, но не слева от присваивания.
Переменные являются lvalues и могут отображаться в левой части назначения. Числовые литералы являются r-значениями, поэтому не могут быть назначены и не могут отображаться слева. Следующее является действительным утверждением —
Dim g As Integer = 20
Но следующее не является допустимым утверждением и может привести к ошибке во время компиляции —
20 = g
VB.Net — Константы и перечисления
Константы относятся к фиксированным значениям, которые программа не может изменить во время своего выполнения. Эти фиксированные значения также называются литералами.
Константы могут быть любого из основных типов данных, таких как целочисленная константа, плавающая константа, символьная константа или строковый литерал. Есть также константы перечисления.
Константы обрабатываются как обычные переменные, за исключением того, что их значения не могут быть изменены после их определения.
Перечисление — это набор именованных целочисленных констант.
Объявление констант
В VB.Net константы объявляются с помощью оператора Const . Оператор Const используется на уровне модуля, класса, структуры, процедуры или блока для использования вместо литеральных значений.
Синтаксис для оператора Const:
[ < attributelist > ] [ accessmodifier ] [ Shadows ] Const constantlist
Куда,
-
attributetelist — указывает список атрибутов, применяемых к константам; Вы можете предоставить несколько атрибутов, разделенных запятыми. Необязательный.
-
accessmodifier — указывает, какой код может обращаться к этим константам. Необязательный. Значения могут быть следующими: Public, Protected, Friend, Protected Friend или Private.
-
Тени — это заставляет константу скрывать элемент программирования с одинаковым именем в базовом классе. Необязательный.
-
Constantlist — дает список имен объявленных констант. Необходимые.
attributetelist — указывает список атрибутов, применяемых к константам; Вы можете предоставить несколько атрибутов, разделенных запятыми. Необязательный.
accessmodifier — указывает, какой код может обращаться к этим константам. Необязательный. Значения могут быть следующими: Public, Protected, Friend, Protected Friend или Private.
Тени — это заставляет константу скрывать элемент программирования с одинаковым именем в базовом классе. Необязательный.
Constantlist — дает список имен объявленных констант. Необходимые.
Где каждое имя константы имеет следующий синтаксис и части —
constantname [ As datatype ] = initializer
-
имя константы — указывает имя константы
-
тип данных — указывает тип данных константы
-
инициализатор — указывает значение, присвоенное константе
имя константы — указывает имя константы
тип данных — указывает тип данных константы
инициализатор — указывает значение, присвоенное константе
Например,
'The following statements declare constants.' Const maxval As Long = 4999 Public Const message As String = "HELLO" Private Const piValue As Double = 3.1415
пример
В следующем примере демонстрируется объявление и использование постоянного значения —
Module constantsNenum Sub Main() Const PI = 3.14149 Dim radius, area As Single radius = 7 area = PI * radius * radius Console.WriteLine("Area = " & Str(area)) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Area = 153.933
Константы печати и отображения в VB.Net
VB.Net предоставляет следующие константы печати и отображения —
Sr.No. | Константа и описание |
---|---|
1 |
vbCrLf Комбинация символов возврата каретки / перевода строки. |
2 |
vbCr Символ возврата каретки. |
3 |
vbLf Символ перевода строки. |
4 |
vbNewLine Символ новой строки. |
5 |
vbNullChar Нулевой персонаж. |
6 |
vbNullString Не то же самое, что строка нулевой длины («»); используется для вызова внешних процедур. |
7 |
vbObjectError Номер ошибки. Пользовательские номера ошибок должны быть больше, чем это значение. Например: Err.Raise (Number) = vbObjectError + 1000 |
8 |
vbTab Символ табуляции. |
9 |
vbBack Backspace персонаж. |
vbCrLf
Комбинация символов возврата каретки / перевода строки.
vbCr
Символ возврата каретки.
vbLf
Символ перевода строки.
vbNewLine
Символ новой строки.
vbNullChar
Нулевой персонаж.
vbNullString
Не то же самое, что строка нулевой длины («»); используется для вызова внешних процедур.
vbObjectError
Номер ошибки. Пользовательские номера ошибок должны быть больше, чем это значение. Например: Err.Raise (Number) = vbObjectError + 1000
vbTab
Символ табуляции.
vbBack
Backspace персонаж.
Объявление Перечислений
Перечислимый тип объявляется с помощью оператора Enum . Оператор Enum объявляет перечисление и определяет значения его членов. Оператор Enum может использоваться на уровне модуля, класса, структуры, процедуры или блока.
Синтаксис для оператора Enum следующий:
[ < attributelist > ] [ accessmodifier ] [ Shadows ] Enum enumerationname [ As datatype ] memberlist End Enum
Куда,
-
attributetelist — относится к списку атрибутов, примененных к переменной. Необязательный.
-
asscessmodifier — указывает, какой код может получить доступ к этим перечислениям. Необязательный. Значения могут быть следующими: Public, Protected, Friend или Private.
-
Тени — это позволяет перечислению скрывать элемент программирования с одинаковым именем в базовом классе. Необязательный.
-
enumerationname — имя перечисления. необходимые
-
datatype — указывает тип данных перечисления и всех его членов.
-
memberlist — указывает список констант членов, объявленных в этом операторе. Необходимые.
attributetelist — относится к списку атрибутов, примененных к переменной. Необязательный.
asscessmodifier — указывает, какой код может получить доступ к этим перечислениям. Необязательный. Значения могут быть следующими: Public, Protected, Friend или Private.
Тени — это позволяет перечислению скрывать элемент программирования с одинаковым именем в базовом классе. Необязательный.
enumerationname — имя перечисления. необходимые
datatype — указывает тип данных перечисления и всех его членов.
memberlist — указывает список констант членов, объявленных в этом операторе. Необходимые.
Каждый член в списке участников имеет следующий синтаксис и части:
[< attribute list >] member name [ = initializer ]
Куда,
-
name — указывает имя участника. Необходимые.
-
инициализатор — значение, присваиваемое элементу перечисления. Необязательный.
name — указывает имя участника. Необходимые.
инициализатор — значение, присваиваемое элементу перечисления. Необязательный.
Например,
Enum Colors red = 1 orange = 2 yellow = 3 green = 4 azure = 5 blue = 6 violet = 7 End Enum
пример
В следующем примере демонстрируется объявление и использование переменной Enum Colors —
Module constantsNenum Enum Colors red = 1 orange = 2 yellow = 3 green = 4 azure = 5 blue = 6 violet = 7 End Enum Sub Main() Console.WriteLine("The Color Red is : " & Colors.red) Console.WriteLine("The Color Yellow is : " & Colors.yellow) Console.WriteLine("The Color Blue is : " & Colors.blue) Console.WriteLine("The Color Green is : " & Colors.green) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
The Color Red is: 1 The Color Yellow is: 3 The Color Blue is: 6 The Color Green is: 4
VB.Net — Модификаторы
Модификаторы — это ключевые слова, добавленные к любому элементу программирования, чтобы уделить особое внимание поведению или доступу элемента программы в программе.
Например, модификаторы доступа: Public, Private, Protected, Friend, Protected Friend и т. Д. Указывают уровень доступа элемента программирования, такого как переменная, константа, перечисление или класс.
Список доступных модификаторов в VB.Net
В следующей таблице представлен полный список модификаторов VB.Net —
Sr.No | Модификатор | Описание |
---|---|---|
1 | Анси | Указывает, что Visual Basic должен упорядочить все строки до значений Американского национального института стандартов (ANSI) независимо от имени объявленной внешней процедуры. |
2 | сборочный | Указывает, что атрибут в начале исходного файла применяется ко всей сборке. |
3 | асинхронный | Указывает, что метод или лямбда-выражение, которое он изменяет, является асинхронным. Такие методы называются асинхронными методами. Вызывающая сторона асинхронного метода может возобновить свою работу, не дожидаясь завершения асинхронного метода. |
4 | Авто | Часть charsetmodifier в операторе Declare предоставляет информацию о наборе символов для маршалинга строк во время вызова внешней процедуры. Это также влияет на то, как Visual Basic ищет во внешнем файле имя внешней процедуры. Модификатор Auto указывает, что Visual Basic должен упорядочивать строки в соответствии с правилами .NET Framework. |
5 | ByRef | Указывает, что аргумент передается по ссылке, т. Е. Вызываемая процедура может изменить значение переменной, лежащей в основе аргумента в вызывающем коде. Он используется в контексте —
|
6 | ByVal | Указывает, что аргумент передается таким образом, что вызываемая процедура или свойство не могут изменить значение переменной, лежащей в основе аргумента в вызывающем коде. Он используется в контексте —
|
7 | По умолчанию | Определяет свойство как свойство по умолчанию его класса, структуры или интерфейса. |
8 | друг |
Указывает, что один или несколько объявленных элементов программирования доступны из сборки, содержащей их объявление, а не только из компонента, который их объявляет. Доступ к другу часто является предпочтительным уровнем для элементов программирования приложения, а Friend — это уровень доступа по умолчанию для интерфейса, модуля, класса или структуры. |
9 | В | Он используется в универсальных интерфейсах и делегатах. |
10 | Итератор | Указывает, что функция или метод доступа Get является итератором. Итератор выполняет пользовательскую итерацию над коллекцией. |
11 | ключ | Ключевое слово Key позволяет указать поведение для свойств анонимных типов. |
12 | модуль | Указывает, что атрибут в начале исходного файла применяется к текущему сборочному модулю. Это не то же самое, что оператор модуля. |
13 | MustInherit | Указывает, что класс может использоваться только как базовый класс и что вы не можете создать объект непосредственно из него. |
14 | MustOverride | Указывает, что свойство или процедура не реализована в этом классе и должна быть переопределена в производном классе, прежде чем его можно будет использовать. |
15 | уменьшение | Указывает, что оператор преобразования (CType) преобразует класс или структуру в тип, который не может содержать некоторые из возможных значений исходного класса или структуры. |
16 | NotInheritable | Указывает, что класс нельзя использовать в качестве базового класса. |
17 | NotOverridable | Указывает, что свойство или процедура не могут быть переопределены в производном классе. |
18 | Необязательный | Указывает, что аргумент процедуры может быть опущен при вызове процедуры. |
19 | Из | Для параметров универсального типа ключевое слово Out указывает, что тип является ковариантным. |
20 | Перегрузки | Указывает, что свойство или процедура повторно объявляет одно или несколько существующих свойств или процедур с тем же именем. |
21 | Overridable | Указывает, что свойство или процедура могут быть переопределены свойством или процедурой с тем же именем в производном классе. |
22 | Переопределение | Указывает, что свойство или процедура переопределяет свойство или процедуру с одинаковым именем, унаследованные от базового класса. |
23 | ParamArray | ParamArray позволяет передавать в процедуру произвольное количество аргументов. Параметр ParamArray всегда объявляется с использованием ByVal. |
24 | частичный | Указывает, что объявление класса или структуры является частичным определением класса или структуры. |
25 | Частный | Указывает, что один или несколько объявленных элементов программирования доступны только из контекста их объявления, в том числе из любых содержащихся типов. |
26 | защищенный | Указывает, что один или несколько объявленных элементов программирования доступны только из их собственного класса или из производного класса. |
27 | общественного | Указывает, что один или несколько объявленных элементов программирования не имеют ограничений доступа. |
28 | ReadOnly | Указывает, что переменная или свойство могут быть прочитаны, но не записаны. |
29 | Тени | Указывает, что объявленный программный элемент повторно объявляет и скрывает элемент с одинаковыми именами или набор перегруженных элементов в базовом классе. |
30 | Общий | Указывает, что один или несколько объявленных элементов программирования связаны с классом или структурой в целом, а не с конкретным экземпляром класса или структуры. |
31 | статический | Указывает, что одна или несколько объявленных локальных переменных должны продолжать существовать и сохранять свои последние значения после завершения процедуры, в которой они объявлены. |
32 | Unicode | Указывает, что Visual Basic должен маршалировать все строки в значения Unicode независимо от имени объявленной внешней процедуры. |
33 | Расширяя | Указывает, что оператор преобразования (CType) преобразует класс или структуру в тип, который может содержать все возможные значения исходного класса или структуры. |
34 | WithEvents | Указывает, что одна или несколько объявленных переменных-членов ссылаются на экземпляр класса, который может вызывать события. |
35 | WriteOnly | Указывает, что свойство может быть записано, но не прочитано. |
Указывает, что один или несколько объявленных элементов программирования доступны из сборки, содержащей их объявление, а не только из компонента, который их объявляет.
Доступ к другу часто является предпочтительным уровнем для элементов программирования приложения, а Friend — это уровень доступа по умолчанию для интерфейса, модуля, класса или структуры.
VB.Net — Заявления
Оператор — это полная инструкция в программах на Visual Basic. Он может содержать ключевые слова, операторы, переменные, литеральные значения, константы и выражения.
Заявления могут быть классифицированы как —
-
Операторы объявлений — это операторы, в которых вы называете переменную, константу или процедуру, а также может указываться тип данных.
-
Исполняемые операторы — это операторы, которые инициируют действия. Эти операторы могут вызывать метод или функцию, цикл или переход через блоки кода или присваивать значения или выражения переменной или константе. В последнем случае это называется оператором присваивания.
Операторы объявлений — это операторы, в которых вы называете переменную, константу или процедуру, а также может указываться тип данных.
Исполняемые операторы — это операторы, которые инициируют действия. Эти операторы могут вызывать метод или функцию, цикл или переход через блоки кода или присваивать значения или выражения переменной или константе. В последнем случае это называется оператором присваивания.
Декларации
Операторы объявления используются для именования и определения процедур, переменных, свойств, массивов и констант. Когда вы объявляете элемент программирования, вы также можете определить его тип данных, уровень доступа и область действия.
К элементам программирования, которые вы можете объявить, относятся переменные, константы, перечисления, классы, структуры, модули, интерфейсы, процедуры, параметры процедур, возвраты функций, ссылки на внешние процедуры, операторы, свойства, события и делегаты.
Ниже приведены заявления декларации в VB.Net —
Sr.No | Заявления и описание | пример |
---|---|---|
1 |
Тусклое заявление Объявляет и выделяет место для хранения одной или нескольких переменных. |
Dim number As Integer Dim quantity As Integer = 100 Dim message As String = "Hello!" |
2 |
Const Заявление Объявляет и определяет одну или несколько констант. |
Const maximum As Long = 1000 Const naturalLogBase As Object = CDec(2.7182818284) |
3 |
Enum Statement Объявляет перечисление и определяет значения его членов. |
Enum CoffeeMugSize Jumbo ExtraLarge Large Medium Small End Enum |
4 |
Заявление класса Объявляет имя класса и вводит определение переменных, свойств, событий и процедур, которые содержит класс. |
Class Box Public length As Double Public breadth As Double Public height As Double End Class |
5 |
Структурное заявление Объявляет имя структуры и вводит определение переменных, свойств, событий и процедур, входящих в структуру. |
Structure Box Public length As Double Public breadth As Double Public height As Double End Structure |
6 |
Модуль Заявление Объявляет имя модуля и вводит определение переменных, свойств, событий и процедур, которые содержит модуль. |
Public Module myModule Sub Main() Dim user As String = InputBox("What is your name?") MsgBox("User name is" & user) End Sub End Module |
7 |
Заявление об интерфейсе Объявляет имя интерфейса и вводит определения членов, входящих в состав интерфейса. |
Public Interface MyInterface Sub doSomething() End Interface |
8 |
Заявление о функции Объявляет имя, параметры и код, которые определяют процедуру Function. |
Function myFunction (ByVal n As Integer) As Double Return 5.87 * n End Function |
9 |
Sub Statement Объявляет имя, параметры и код, которые определяют процедуру Sub. |
Sub mySub(ByVal s As String) Return End Sub |
10 |
Объявить заявление Объявляет ссылку на процедуру, реализованную во внешнем файле. |
Declare Function getUserName Lib "advapi32.dll" Alias "GetUserNameA" ( ByVal lpBuffer As String, ByRef nSize As Integer) As Integer |
11 |
Оператор заявление Объявляет символ оператора, операнды и код, которые определяют операторную процедуру для класса или структуры. |
Public Shared Operator + (ByVal x As obj, ByVal y As obj) As obj Dim r As New obj ' implemention code for r = x + y Return r End Operator |
12 |
Заявление о недвижимости Объявляет имя свойства и процедуры свойств, используемые для хранения и получения значения свойства. |
ReadOnly Property quote() As String Get Return quoteString End Get End Property |
13 |
Заявление о событии Объявляет пользовательское событие. |
Public Event Finished() |
14 |
Заявление делегата Используется для объявления делегата. |
Delegate Function MathOperator( ByVal x As Double, ByVal y As Double ) As Double |
Тусклое заявление
Объявляет и выделяет место для хранения одной или нескольких переменных.
Const Заявление
Объявляет и определяет одну или несколько констант.
Enum Statement
Объявляет перечисление и определяет значения его членов.
Заявление класса
Объявляет имя класса и вводит определение переменных, свойств, событий и процедур, которые содержит класс.
Структурное заявление
Объявляет имя структуры и вводит определение переменных, свойств, событий и процедур, входящих в структуру.
Модуль Заявление
Объявляет имя модуля и вводит определение переменных, свойств, событий и процедур, которые содержит модуль.
Заявление об интерфейсе
Объявляет имя интерфейса и вводит определения членов, входящих в состав интерфейса.
Заявление о функции
Объявляет имя, параметры и код, которые определяют процедуру Function.
Sub Statement
Объявляет имя, параметры и код, которые определяют процедуру Sub.
Объявить заявление
Объявляет ссылку на процедуру, реализованную во внешнем файле.
Оператор заявление
Объявляет символ оператора, операнды и код, которые определяют операторную процедуру для класса или структуры.
Заявление о недвижимости
Объявляет имя свойства и процедуры свойств, используемые для хранения и получения значения свойства.
Заявление о событии
Объявляет пользовательское событие.
Заявление делегата
Используется для объявления делегата.
Исполняемые заявления
Исполняемый оператор выполняет действие. Операторы, вызывающие процедуру, переходящие в другое место в коде, проходящие через несколько операторов или вычисляющие выражение, являются исполняемыми операторами. Оператор присваивания является частным случаем исполняемого оператора.
пример
Следующий пример демонстрирует утверждение принятия решения —
Module decisions Sub Main() 'local variable definition ' Dim a As Integer = 10 ' check the boolean condition using if statement ' If (a < 20) Then ' if condition is true then print the following ' Console.WriteLine("a is less than 20") End If Console.WriteLine("value of a is : {0}", a) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
a is less than 20; value of a is : 10
VB.Net — Директивы
Директивы компилятора VB.Net дают инструкции компилятору предварительно обработать информацию перед началом фактической компиляции. Все эти директивы начинаются с #, и перед директивой в строке могут появляться только символы пробела. Эти директивы не являются заявлениями.
Компилятор VB.Net не имеет отдельного препроцессора; однако директивы обрабатываются так, как если бы они были. В VB.Net директивы компилятора используются для помощи в условной компиляции. В отличие от директив C и C ++, они не используются для создания макросов.
Директивы компилятора в VB.Net
VB.Net предоставляет следующий набор директив компилятора —
-
Директива #Const
-
Директива #ExternalSource
-
# Если … Тогда … # Другие директивы
-
Директива #Region
Директива #Const
Директива #ExternalSource
# Если … Тогда … # Другие директивы
Директива #Region
Директива #Const
Эта директива определяет условные константы компилятора. Синтаксис этой директивы —
#Const constname = expression
Куда,
-
constname — указывает имя константы. Необходимые.
-
Выражение — это либо литеральная, либо другая условная константа компилятора, либо комбинация, включающая любые или все арифметические или логические операторы, кроме Is .
constname — указывает имя константы. Необходимые.
Выражение — это либо литеральная, либо другая условная константа компилятора, либо комбинация, включающая любые или все арифметические или логические операторы, кроме Is .
Например,
#Const state = "WEST BENGAL"
пример
Следующий код демонстрирует гипотетическое использование директивы —
Module mydirectives #Const age = True Sub Main() #If age Then Console.WriteLine("You are welcome to the Robotics Club") #End If Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
You are welcome to the Robotics Club
Директива #ExternalSource
Эта директива используется для указания соответствия между конкретными строками исходного кода и текстом, внешним по отношению к источнику. Он используется только компилятором, а отладчик не влияет на компиляцию кода.
Эта директива позволяет включать внешний код из файла внешнего кода в файл исходного кода.
Синтаксис этой директивы —
#ExternalSource( StringLiteral , IntLiteral ) [ LogicalLine ] #End ExternalSource
Параметры директивы #ExternalSource — это путь к внешнему файлу, номер строки в первой строке и строка, в которой произошла ошибка.
пример
Следующий код демонстрирует гипотетическое использование директивы —
Module mydirectives Public Class ExternalSourceTester Sub TestExternalSource() #ExternalSource("c:\vbprogs\directives.vb", 5) Console.WriteLine("This is External Code. ") #End ExternalSource End Sub End Class Sub Main() Dim t As New ExternalSourceTester() t.TestExternalSource() Console.WriteLine("In Main.") Console.ReadKey() End Sub
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
This is External Code. In Main.
# Если … Тогда … # Другие директивы
Эта директива условно компилирует выбранные блоки кода Visual Basic.
Синтаксис этой директивы —
#If expression Then statements [ #ElseIf expression Then [ statements ] ... #ElseIf expression Then [ statements ] ] [ #Else [ statements ] ] #End If
Например,
#Const TargetOS = "Linux" #If TargetOS = "Windows 7" Then ' Windows 7 specific code #ElseIf TargetOS = "WinXP" Then ' Windows XP specific code #Else ' Code for other OS #End if
пример
Следующий код демонстрирует гипотетическое использование директивы —
Module mydirectives #Const classCode = 8 Sub Main() #If classCode = 7 Then Console.WriteLine("Exam Questions for Class VII") #ElseIf classCode = 8 Then Console.WriteLine("Exam Questions for Class VIII") #Else Console.WriteLine("Exam Questions for Higher Classes") #End If Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Exam Questions for Class VIII
Директива #Region
Эта директива помогает свернуть и скрыть участки кода в файлах Visual Basic.
Синтаксис этой директивы —
#Region "identifier_string" #End Region
Например,
#Region "StatsFunctions" ' Insert code for the Statistical functions here. #End Region
VB.Net — Операторы
Оператор — это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. VB.Net богат встроенными операторами и предоставляет следующие типы часто используемых операторов —
-
Арифметические Операторы
-
Операторы сравнения
-
Логические / побитовые операторы
-
Операторы сдвига битов
-
Операторы присваивания
-
Разные операторы
Арифметические Операторы
Операторы сравнения
Логические / побитовые операторы
Операторы сдвига битов
Операторы присваивания
Разные операторы
Этот урок объяснит наиболее часто используемые операторы.
Арифметические Операторы
В следующей таблице приведены все арифметические операторы, поддерживаемые VB.Net. Предположим, что переменная A содержит 2, а переменная B содержит 7, тогда —
оператор | Описание | пример |
---|---|---|
^ | Поднимает один операнд во власть другого | Б ^ А даст 49 |
+ | Добавляет два операнда | А + Б даст 9 |
— | Вычитает второй операнд из первого | А — Б даст -5 |
* | Умножает оба операнда | А * Б даст 14 |
/ | Делит один операнд на другой и возвращает результат с плавающей запятой | Б / у даст 3,5 |
\ | Делит один операнд на другой и возвращает целочисленный результат | Б \ А даст 3 |
MOD | Оператор модуля и остаток от целочисленного деления | B MOD A даст 1 |
Операторы сравнения
В следующей таблице приведены все операторы сравнения, поддерживаемые VB.Net. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
оператор | Описание | пример |
---|---|---|
знак равно | Проверяет, равны ли значения двух операндов или нет; если да, то условие становится истинным. | (A = B) не соответствует действительности. |
<> | Проверяет, равны ли значения двух операндов или нет; если значения не равны, то условие становится истинным. | (A <> B) верно. |
> | Проверяет, больше ли значение левого операнда, чем значение правого операнда; если да, то условие становится истинным. | (A> B) не соответствует действительности. |
< | Проверяет, меньше ли значение левого операнда, чем значение правого операнда; если да, то условие становится истинным. | (A <B) верно. |
> = | Проверяет, больше ли значение левого операнда или равно значению правого операнда; если да, то условие становится истинным. | (A> = B) не соответствует действительности. |
<= | Проверяет, меньше ли значение левого операнда или равно значению правого операнда; если да, то условие становится истинным. | (A <= B) верно. |
Помимо вышесказанного, VB.Net предоставляет еще три оператора сравнения, которые мы будем использовать в следующих главах; однако, мы даем краткое описание здесь.
-
Оператор Is — сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на один и тот же объект без сравнения значений. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом будет True ; в противном случае результат является ложным.
-
Оператор IsNot — он также сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на объект на разные объекты. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом является False ; в противном случае результат равен True.
-
Как оператор — сравнивает строку с шаблоном.
Оператор Is — сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на один и тот же объект без сравнения значений. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом будет True ; в противном случае результат является ложным.
Оператор IsNot — он также сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на объект на разные объекты. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом является False ; в противном случае результат равен True.
Как оператор — сравнивает строку с шаблоном.
Логические / побитовые операторы
В следующей таблице приведены все логические операторы, поддерживаемые VB.Net. Предположим, что переменная A содержит логическое значение True, а переменная B содержит логическое значение False, тогда —
оператор | Описание | пример |
---|---|---|
А также | Это логический и побитовый оператор AND. Если оба операнда истинны, тогда условие становится истинным. Этот оператор не выполняет короткое замыкание, т. Е. Он оценивает оба выражения. | (А и Б) является ложным. |
Или же | Это логический, а также побитовый оператор ИЛИ. Если любой из двух операндов является истинным, тогда условие становится истинным. Этот оператор не выполняет короткое замыкание, т. Е. Он оценивает оба выражения. | (А или Б) это правда. |
Не | Это логический и побитовый оператор НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь. | Не (А и Б) верно. |
Xor | Это логический, а также побитовый логический исключающий ИЛИ оператор. Возвращает True, если оба выражения True или оба выражения False; в противном случае возвращается False. Этот оператор не выполняет короткое замыкание, он всегда оценивает оба выражения, и у этого оператора нет короткого замыкания. | А Xor B это правда. |
А также | Это логический оператор AND. Работает только на булевых данных. Он выполняет короткое замыкание. | (A И также B) Неверно. |
OrElse | Это логический оператор ИЛИ. Работает только на булевых данных. Он выполняет короткое замыкание. | (A OrElse B) это правда. |
IsFalse | Он определяет, является ли выражение ложным. | |
Правда | Это определяет, является ли выражение Истинным. |
Операторы сдвига битов
Мы уже обсуждали побитовые операторы. Операторы сдвига битов выполняют операции сдвига двоичных значений. Прежде чем перейти к операторам сдвига битов, давайте разберемся с битовыми операциями.
Битовые операторы работают с битами и выполняют побитовые операции. Таблицы истинности для &, | и ^ следующие:
п | Q | P & Q | р | Q | р ^ д |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Предположим, если А = 60; и B = 13; теперь в двоичном формате они будут выглядеть следующим образом —
A = 0011 1100
B = 0000 1101
——————
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
Мы видели, что побитовые операторы, поддерживаемые VB.Net, это And, Or, Xor и Not. Операции сдвига битов >> и << для сдвига влево и вправо соответственно.
Предположим, что переменная A содержит 60, а переменная B содержит 13, тогда —
оператор | Описание | пример |
---|---|---|
А также | Побитовое И Оператор копирует немного в результат, если он существует в обоих операндах. | (А И Б) даст 12, что составляет 0000 1100 |
Или же | Оператор двоичного ИЛИ копирует немного, если он существует в любом из операндов. | (А или В) даст 61, что составляет 0011 1101 |
Xor | Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих. | (A Xor B) даст 49, что составляет 0011 0001 |
Не | Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов. | (Не A) даст -61, что составляет 1100 0011 в форме дополнения 2 из-за двоичного числа со знаком. |
<< | Двоичный оператор левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом. | А << 2 даст 240, что составляет 1111 0000 |
>> | Оператор двоичного правого сдвига. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом. | A >> 2 даст 15, что составляет 0000 1111 |
Операторы присваивания
В VB.Net поддерживаются следующие операторы присваивания:
оператор | Описание | пример |
---|---|---|
знак равно | Простой оператор присваивания, присваивает значения от правых операндов к левому операнду | C = A + B назначит значение A + B в C |
+ = | Добавить оператор присваивания И добавляет правый операнд к левому операнду и присваивает результат левому операнду | C + = A эквивалентно C = C + A |
знак равно | Вычитание И оператор присваивания, вычитает правый операнд из левого операнда и присваивает результат левому операнду | C — = A эквивалентно C = C — A |
знак равно | Оператор присваивания умножения И, умножает правый операнд на левый операнд и присваивает результат левому операнду | C * = A эквивалентно C = C * A |
знак равно | Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду (деление с плавающей запятой) | C / = A эквивалентно C = C / A |
знак равно | Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду (целочисленное деление) | C \ = A эквивалентно C = C \ A |
^ = | Экспонентация и назначение оператора. Он поднимает левый операнд до степени правого операнда и присваивает результат левому операнду. | C ^ = A эквивалентно C = C ^ A |
<< = | Левый сдвиг И оператор присваивания | C << = 2 совпадает с C = C << 2 |
>> = | Оператор правого сдвига И присваивания | C >> = 2 — это то же самое, что C = C >> 2 |
знак равно | Объединяет выражение String с переменной или свойством String и присваивает результат переменной или свойству. |
Str1 & = Str2 такой же, как Str1 = Str1 & Str2 |
Str1 & = Str2 такой же, как
Str1 = Str1 & Str2
Разные операторы
Есть несколько других важных операторов, поддерживаемых VB.Net.
оператор | Описание | пример |
---|---|---|
AddressOf | Возвращает адрес процедуры. |
AddHandler Button1.Click, AddressOf Button1_Click |
Ждите | Он применяется к операнду в асинхронном методе или лямбда-выражении, чтобы приостановить выполнение метода до завершения ожидаемой задачи. |
Dim result As res = Await AsyncMethodThatReturnsResult() Await AsyncMethod() |
GetType | Возвращает объект Type для указанного типа. Объект Type предоставляет информацию о типе, такую как его свойства, методы и события. |
MsgBox(GetType(Integer).ToString()) |
Выражение функции | Он объявляет параметры и код, которые определяют функцию лямбда-выражения. |
Dim add5 = Function(num As Integer) num + 5 'prints 10 Console.WriteLine(add5(5)) |
Если | Он использует оценку короткого замыкания для условного возврата одного из двух значений. Оператор If может быть вызван с тремя аргументами или с двумя аргументами. |
Dim num = 5 Console.WriteLine(If(num >= 0, "Positive", "Negative")) |
Приоритет операторов в VB.Net
Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения —
Например, х = 7 + 3 * 2; здесь x назначено 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3 * 2, а затем прибавляется к 7.
Здесь операторы с самым высоким приоритетом отображаются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.
оператор | старшинство |
---|---|
Ждите | Наибольший |
Возведение в степень (^) | |
Одинарная идентичность и отрицание (+, -) | |
Умножение и деление с плавающей точкой (*, /) | |
Целочисленное деление (\) | |
Модуль арифметики (Mod) | |
Сложение и вычитание (+, -) | |
Арифметический битовый сдвиг (<<, >>) | |
Все операторы сравнения (=, <>, <, <=,>,> =, Is, IsNot, Like, TypeOf … Is) | |
Отрицание (не) | |
Соединение (А, И Также) | |
Инклюзивное дизъюнкция (Or, OrElse) | |
Эксклюзивная дизъюнкция (Xor) | низший |
VB.Net — Принятие решений
Структуры принятия решений требуют, чтобы программист указал одно или несколько условий, которые должны быть оценены или протестированы программой, вместе с оператором или инструкциями, которые должны быть выполнены, если условие определено как истинное, и, необязательно, другие операторы, которые должны быть выполнены, если условие определяется как ложный.
Ниже приводится общая форма типичной структуры принятия решений, встречающейся в большинстве языков программирования.
VB.Net предоставляет следующие типы заявлений о принятии решений. Нажмите на следующие ссылки, чтобы проверить их детали.
утверждение | Описание |
---|---|
Оператор If … Then состоит из логического выражения, за которым следует одно или несколько операторов. |
|
За оператором If … Then может следовать необязательный оператор Else , который выполняется, когда логическое выражение имеет значение false. |
|
Вы можете использовать один оператор If или Else if внутри другого оператора If или Else if . | |
Оператор Select Case позволяет проверять переменную на соответствие списку значений. |
|
Вы можете использовать один оператор выбора case внутри другого оператора (ов) выбора case . |
Оператор If … Then состоит из логического выражения, за которым следует одно или несколько операторов.
Если … Тогда … Остальное утверждение
За оператором If … Then может следовать необязательный оператор Else , который выполняется, когда логическое выражение имеет значение false.
Оператор Select Case позволяет проверять переменную на соответствие списку значений.
вложенные операторы Select Case
Вы можете использовать один оператор выбора case внутри другого оператора (ов) выбора case .
VB.Net — Петли
Может возникнуть ситуация, когда вам нужно выполнить блок кода несколько раз. В общем случае операторы выполняются последовательно: первый оператор в функции выполняется первым, затем второй и так далее.
Языки программирования предоставляют различные управляющие структуры, которые допускают более сложные пути выполнения.
Оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз, и в большинстве языков программирования ниже приводится общая форма инструкции цикла.
VB.Net предоставляет следующие типы циклов для обработки требований циклов. Нажмите на следующие ссылки, чтобы проверить их детали.
Тип петли | Описание |
---|---|
Он повторяет вложенный блок операторов, пока булево условие истинно или пока условие не станет истинным. Это может быть прекращено в любое время с помощью оператора Exit Do. |
|
Он повторяет группу операторов указанное количество раз, а индекс цикла подсчитывает количество итераций цикла при выполнении цикла. |
|
Он повторяет группу операторов для каждого элемента в коллекции. Этот цикл используется для доступа ко всем элементам массива или коллекции VB.Net и манипулирования ими. | |
Он выполняет серию операторов, если данное условие истинно. |
|
Это не совсем циклическая конструкция. Он выполняет серию операторов, которые неоднократно ссылаются на один объект или структуру. |
|
Вы можете использовать один или несколько циклов внутри любого другого цикла While, For или Do. |
Он повторяет вложенный блок операторов, пока булево условие истинно или пока условие не станет истинным. Это может быть прекращено в любое время с помощью оператора Exit Do.
Он повторяет группу операторов указанное количество раз, а индекс цикла подсчитывает количество итераций цикла при выполнении цикла.
Он выполняет серию операторов, если данное условие истинно.
Это не совсем циклическая конструкция. Он выполняет серию операторов, которые неоднократно ссылаются на один объект или структуру.
Вы можете использовать один или несколько циклов внутри любого другого цикла While, For или Do.
Заявления о контроле цикла
Операторы управления циклом изменяют выполнение от его нормальной последовательности. Когда выполнение покидает область действия, все автоматические объекты, созданные в этой области, уничтожаются.
VB.Net предоставляет следующие контрольные заявления. Нажмите на следующие ссылки, чтобы проверить их детали.
Контрольное заявление | Описание |
---|---|
Завершает цикл или оператор выбора case и передает выполнение в оператор, следующий сразу за циклом или оператором выбора. |
|
Заставляет петлю пропускать оставшуюся часть своего тела и немедленно проверять свое состояние перед повторением. |
|
Передает управление помеченному выражению. Хотя не рекомендуется использовать оператор GoTo в вашей программе. |
Завершает цикл или оператор выбора case и передает выполнение в оператор, следующий сразу за циклом или оператором выбора.
Заставляет петлю пропускать оставшуюся часть своего тела и немедленно проверять свое состояние перед повторением.
Передает управление помеченному выражению. Хотя не рекомендуется использовать оператор GoTo в вашей программе.
VB.Net — Струны
В VB.Net вы можете использовать строки в виде массива символов, однако более распространенной практикой является использование ключевого слова String для объявления строковой переменной. Ключевое слово string является псевдонимом для класса System.String .
Создание строкового объекта
Вы можете создать строковый объект, используя один из следующих методов —
-
Присваивая строковый литерал строковой переменной
-
Используя конструктор класса String
-
Используя оператор конкатенации строк (+)
-
Получая свойство или вызывая метод, который возвращает строку
-
Вызывая метод форматирования для преобразования значения или объекта в его строковое представление
Присваивая строковый литерал строковой переменной
Используя конструктор класса String
Используя оператор конкатенации строк (+)
Получая свойство или вызывая метод, который возвращает строку
Вызывая метод форматирования для преобразования значения или объекта в его строковое представление
Следующий пример демонстрирует это —
Module strings Sub Main() Dim fname, lname, fullname, greetings As String fname = "Rowan" lname = "Atkinson" fullname = fname + " " + lname Console.WriteLine("Full Name: {0}", fullname) 'by using string constructor Dim letters As Char() = {"H", "e", "l", "l", "o"} greetings = New String(letters) Console.WriteLine("Greetings: {0}", greetings) 'methods returning String Dim sarray() As String = {"Hello", "From", "Tutorials", "Point"} Dim message As String = String.Join(" ", sarray) Console.WriteLine("Message: {0}", message) 'formatting method to convert a value Dim waiting As DateTime = New DateTime(2012, 12, 12, 17, 58, 1) Dim chat As String = String.Format("Message sent at {0:t} on {0:D}", waiting) Console.WriteLine("Message: {0}", chat) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Full Name: Rowan Atkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 5:58 PM on Wednesday, December 12, 2012
Свойства класса String
Класс String имеет следующие два свойства —
Sr.No | Название и описание недвижимости |
---|---|
1 |
Символов Получает объект Char в указанной позиции в текущем объекте String . |
2 |
длина Получает количество символов в текущем объекте String. |
Символов
Получает объект Char в указанной позиции в текущем объекте String .
длина
Получает количество символов в текущем объекте String.
Методы класса String
Класс String имеет множество методов, которые помогут вам в работе со строковыми объектами. В следующей таблице приведены некоторые из наиболее часто используемых методов —
Sr.No | Название и описание метода |
---|---|
1 |
Сравнение открытых общих функций (strA как строка, strB как строка) как целое число Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки. |
2 |
Сравнение открытых общих функций (strA As String, strB As String, ignoreCase As Boolean) As Integer Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки. Однако он игнорирует случай, если логический параметр имеет значение true. |
3 |
Открытая общая функция Concat (str0 As String, str1 As String) As String Объединяет два строковых объекта. |
4 |
Открытая общая функция Concat (str0 As String, str1 As String, str2 As String) As String Объединяет три строковых объекта. |
5 |
Открытая общая функция Concat (str0 As String, str1 As String, str2 As String, str3 As String) As String Объединяет четыре строковых объекта. |
6 |
Открытая функция содержит (значение в виде строки) как логическое значение Возвращает значение, указывающее, встречается ли указанный строковый объект в этой строке. |
7 |
Публичная общая функция Копировать (строка как строка) как строка Создает новый объект String с тем же значением, что и указанная строка. |
8 |
pPublic Sub CopyTo (sourceIndex как целое число, получатель как Char (), destinationIndex как целое число, считать как целое число) Копирует указанное количество символов из указанной позиции строкового объекта в указанную позицию в массиве символов Юникода. |
9 |
Открытая функция EndsWith (значение как строка) как логическое значение Определяет, соответствует ли конец строкового объекта указанной строке. |
10 |
Открытая функция равно (значение как строка) как логическое значение Определяет, имеют ли текущий строковый объект и указанный строковый объект одинаковые значения. |
11 |
Открытая общая функция равна (a As String, b As String) As Boolean Определяет, имеют ли два указанных строковых объекта одинаковое значение. |
12 |
Формат общедоступной общей функции (формат As String, arg0 As Object) As String Заменяет один или несколько элементов формата в указанной строке строковым представлением указанного объекта. |
13 |
Открытая функция IndexOf (значение как символ) как целое число Возвращает нулевой индекс первого вхождения указанного символа Unicode в текущей строке. |
14 |
Открытая функция IndexOf (значение как строка) как целое число Возвращает нулевой индекс первого вхождения указанной строки в этом экземпляре. |
15 |
Открытая функция IndexOf (значение как Char, startIndex как целое число) как целое число Возвращает нулевой индекс первого вхождения указанного символа Unicode в этой строке, начиная поиск с указанной позиции символа. |
16 |
Открытая функция IndexOf (значение как строка, startIndex как целое число) как целое число Возвращает нулевой индекс первого вхождения указанной строки в этом случае, начиная поиск с указанной позиции символа. |
17 |
Открытая функция IndexOfAny (anyOf As Char ()) как целое число Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода. |
18 |
Открытая функция IndexOfAny (anyOf As Char (), startIndex As Integer) как Integer Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода, начиная поиск с указанной позиции символа. |
19 |
Открытая функция Вставка (startIndex как целое число, значение как строка) как строка Возвращает новую строку, в которой указанная строка вставлена в указанную позицию индекса в текущем строковом объекте. |
20 |
Открытая общая функция IsNullOrEmpty (значение в виде строки) как логическое значение Указывает, является ли указанная строка пустой или пустой строкой. |
21 |
Открытая общая функция Join (разделитель As String, значение ParamArray As String ()) As String Объединяет все элементы массива строк, используя указанный разделитель между каждым элементом. |
22 |
Открытая общая функция Соединение (разделитель как строка, значение как строка (), startIndex как целое число, число как целое число) как строка Объединяет указанные элементы массива строк, используя указанный разделитель между каждым элементом. |
23 |
Открытая функция LastIndexOf (значение как символ) как целое число Возвращает нулевую позицию индекса последнего вхождения указанного символа Unicode в текущем строковом объекте. |
24 |
Открытая функция LastIndexOf (значение как строка) как целое число Возвращает нулевую позицию индекса последнего вхождения указанной строки в текущем строковом объекте. |
25 |
Открытая функция Remove (startIndex As Integer) как String Удаляет все символы в текущем экземпляре, начиная с указанной позиции и продолжая до последней позиции, и возвращает строку. |
26 |
Открытая функция Remove (startIndex как целое число, считается как целое число) как строка Удаляет указанное количество символов в текущей строке, начиная с указанной позиции, и возвращает строку. |
27 |
Открытая функция Replace (oldChar As Char, newChar As Char) как строка Заменяет все вхождения указанного символа Unicode в текущем строковом объекте на указанный символ Unicode и возвращает новую строку. |
28 |
Открытая функция Replace (oldValue As String, newValue As String) As String Заменяет все вхождения указанной строки в текущем строковом объекте на указанную строку и возвращает новую строку. |
29 |
Открытая функция Split (разделитель ParamArray As Char ()) As String () Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode. |
30 |
Открытая функция Split (разделитель как Char (), считать как целое число) как String () Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode. Параметр int указывает максимальное количество возвращаемых подстрок. |
31 |
Открытая функция StartsWith (значение как строка) как логическое значение Определяет, соответствует ли начало этого экземпляра строки указанной строке. |
32 |
Открытая функция ToCharArray As Char () Возвращает массив символов Unicode со всеми символами в текущем строковом объекте. |
33 |
Открытая функция ToCharArray (startIndex как целое число, длина как целое число) как Char () Возвращает массив символов Unicode со всеми символами в текущем строковом объекте, начиная с указанного индекса и до указанной длины. |
34 |
Открытая функция ToLower As String Возвращает копию этой строки, преобразованную в нижний регистр. |
35 |
Открытая функция ToUpper As String Возвращает копию этой строки, преобразованную в верхний регистр. |
36 |
Публичная функция Trim As String Удаляет все начальные и конечные пробельные символы из текущего объекта String. |
Сравнение открытых общих функций (strA как строка, strB как строка) как целое число
Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки.
Сравнение открытых общих функций (strA As String, strB As String, ignoreCase As Boolean) As Integer
Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки. Однако он игнорирует случай, если логический параметр имеет значение true.
Открытая общая функция Concat (str0 As String, str1 As String) As String
Объединяет два строковых объекта.
Открытая общая функция Concat (str0 As String, str1 As String, str2 As String) As String
Объединяет три строковых объекта.
Открытая общая функция Concat (str0 As String, str1 As String, str2 As String, str3 As String) As String
Объединяет четыре строковых объекта.
Открытая функция содержит (значение в виде строки) как логическое значение
Возвращает значение, указывающее, встречается ли указанный строковый объект в этой строке.
Публичная общая функция Копировать (строка как строка) как строка
Создает новый объект String с тем же значением, что и указанная строка.
pPublic Sub CopyTo (sourceIndex как целое число, получатель как Char (), destinationIndex как целое число, считать как целое число)
Копирует указанное количество символов из указанной позиции строкового объекта в указанную позицию в массиве символов Юникода.
Открытая функция EndsWith (значение как строка) как логическое значение
Определяет, соответствует ли конец строкового объекта указанной строке.
Открытая функция равно (значение как строка) как логическое значение
Определяет, имеют ли текущий строковый объект и указанный строковый объект одинаковые значения.
Открытая общая функция равна (a As String, b As String) As Boolean
Определяет, имеют ли два указанных строковых объекта одинаковое значение.
Формат общедоступной общей функции (формат As String, arg0 As Object) As String
Заменяет один или несколько элементов формата в указанной строке строковым представлением указанного объекта.
Открытая функция IndexOf (значение как символ) как целое число
Возвращает нулевой индекс первого вхождения указанного символа Unicode в текущей строке.
Открытая функция IndexOf (значение как строка) как целое число
Возвращает нулевой индекс первого вхождения указанной строки в этом экземпляре.
Открытая функция IndexOf (значение как Char, startIndex как целое число) как целое число
Возвращает нулевой индекс первого вхождения указанного символа Unicode в этой строке, начиная поиск с указанной позиции символа.
Открытая функция IndexOf (значение как строка, startIndex как целое число) как целое число
Возвращает нулевой индекс первого вхождения указанной строки в этом случае, начиная поиск с указанной позиции символа.
Открытая функция IndexOfAny (anyOf As Char ()) как целое число
Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода.
Открытая функция IndexOfAny (anyOf As Char (), startIndex As Integer) как Integer
Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода, начиная поиск с указанной позиции символа.
Открытая функция Вставка (startIndex как целое число, значение как строка) как строка
Возвращает новую строку, в которой указанная строка вставлена в указанную позицию индекса в текущем строковом объекте.
Открытая общая функция IsNullOrEmpty (значение в виде строки) как логическое значение
Указывает, является ли указанная строка пустой или пустой строкой.
Открытая общая функция Join (разделитель As String, значение ParamArray As String ()) As String
Объединяет все элементы массива строк, используя указанный разделитель между каждым элементом.
Открытая общая функция Соединение (разделитель как строка, значение как строка (), startIndex как целое число, число как целое число) как строка
Объединяет указанные элементы массива строк, используя указанный разделитель между каждым элементом.
Открытая функция LastIndexOf (значение как символ) как целое число
Возвращает нулевую позицию индекса последнего вхождения указанного символа Unicode в текущем строковом объекте.
Открытая функция LastIndexOf (значение как строка) как целое число
Возвращает нулевую позицию индекса последнего вхождения указанной строки в текущем строковом объекте.
Открытая функция Remove (startIndex As Integer) как String
Удаляет все символы в текущем экземпляре, начиная с указанной позиции и продолжая до последней позиции, и возвращает строку.
Открытая функция Remove (startIndex как целое число, считается как целое число) как строка
Удаляет указанное количество символов в текущей строке, начиная с указанной позиции, и возвращает строку.
Открытая функция Replace (oldChar As Char, newChar As Char) как строка
Заменяет все вхождения указанного символа Unicode в текущем строковом объекте на указанный символ Unicode и возвращает новую строку.
Открытая функция Replace (oldValue As String, newValue As String) As String
Заменяет все вхождения указанной строки в текущем строковом объекте на указанную строку и возвращает новую строку.
Открытая функция Split (разделитель ParamArray As Char ()) As String ()
Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode.
Открытая функция Split (разделитель как Char (), считать как целое число) как String ()
Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode. Параметр int указывает максимальное количество возвращаемых подстрок.
Открытая функция StartsWith (значение как строка) как логическое значение
Определяет, соответствует ли начало этого экземпляра строки указанной строке.
Открытая функция ToCharArray As Char ()
Возвращает массив символов Unicode со всеми символами в текущем строковом объекте.
Открытая функция ToCharArray (startIndex как целое число, длина как целое число) как Char ()
Возвращает массив символов Unicode со всеми символами в текущем строковом объекте, начиная с указанного индекса и до указанной длины.
Открытая функция ToLower As String
Возвращает копию этой строки, преобразованную в нижний регистр.
Открытая функция ToUpper As String
Возвращает копию этой строки, преобразованную в верхний регистр.
Публичная функция Trim As String
Удаляет все начальные и конечные пробельные символы из текущего объекта String.
Приведенный выше список методов не является исчерпывающим, пожалуйста, посетите библиотеку MSDN для полного списка методов и конструкторов класса String.
Примеры
Следующий пример демонстрирует некоторые из методов, упомянутых выше —
Сравнение строк
Module strings Sub Main() Dim str1, str2 As String str1 = "This is test" str2 = "This is text" If (String.Compare(str1, str2) = 0) Then Console.WriteLine(str1 + " and " + str2 + " are equal.") Else Console.WriteLine(str1 + " and " + str2 + " are not equal.") End If Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
This is test and This is text are not equal.
Строка содержит строку
Module strings Sub Main() Dim str1 As String str1 = "This is test" If (str1.Contains("test")) Then Console.WriteLine("The sequence 'test' was found.") End If Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
The sequence 'test' was found.
Получение подстроки:
Module strings Sub Main() Dim str As String str = "Last night I dreamt of San Pedro" Console.WriteLine(str) Dim substr As String = str.Substring(23) Console.WriteLine(substr) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Last night I dreamt of San Pedro San Pedro.
Строки соединения
Module strings Sub Main() Dim strarray As String() = { "Down the way where the nights are gay", "And the sun shines daily on the mountain top", "I took a trip on a sailing ship", "And when I reached Jamaica", "I made a stop" } Dim str As String = String.Join(vbCrLf, strarray) Console.WriteLine(str) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Down the way where the nights are gay And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop
VB.Net — Дата и время
Большинство программ, которые вы пишете, нуждаются в реализации некоторой формы функций даты, возвращающих текущую дату и время. Свидания настолько важны в повседневной жизни, что с ними легко работать, не задумываясь. VB.Net также предоставляет мощные инструменты для арифметики дат, которые упрощают манипулирование датами.
Тип данных Date содержит значения даты, значения времени или значения даты и времени. Значение по умолчанию Дата — 0:00:00 (полночь) 1 января 0001 года. Эквивалентный тип данных .NET — System.DateTime .
Структура DateTime представляет момент времени, обычно выражаемый в виде даты и времени дня.
'Declaration <SerializableAttribute> _ Public Structure DateTime _ Implements IComparable, IFormattable, IConvertible, ISerializable, IComparable(Of DateTime), IEquatable(Of DateTime)
Вы также можете получить текущую дату и время из класса DateAndTime.
Модуль DateAndTime содержит процедуры и свойства, используемые в операциях даты и времени.
'Declaration <StandardModuleAttribute> _ Public NotInheritable Class DateAndTime
Замечания: Как структура DateTime, так и модуль DateAndTime содержат свойства, такие как Now и Today , поэтому новичкам часто кажется, что это сбивает с толку. Класс DateAndTime принадлежит пространству имен Microsoft.VisualBasic, а структура DateTime принадлежит пространству имен System. |
Замечания:
Как структура DateTime, так и модуль DateAndTime содержат свойства, такие как Now и Today , поэтому новичкам часто кажется, что это сбивает с толку. Класс DateAndTime принадлежит пространству имен Microsoft.VisualBasic, а структура DateTime принадлежит пространству имен System.
Следовательно, использование последнего поможет вам перенести код на другой язык .Net, например C #. Однако класс / модуль DateAndTime содержит все устаревшие функции даты, доступные в Visual Basic.
Свойства и методы структуры DateTime
В следующей таблице перечислены некоторые из наиболее часто используемых свойств структуры DateTime.
Sr.No | Имущество | Описание |
---|---|---|
1 | Дата | Получает компонент даты этого экземпляра. |
2 | День | Получает день месяца, представленный этим экземпляром. |
3 | День недели | Получает день недели, представленный этим экземпляром. |
4 | DayOfYear | Получает день года, представленный этим экземпляром. |
5 | Час | Получает компонент часов даты, представленной этим экземпляром. |
6 | Добрый | Получает значение, которое указывает, основано ли время, представленное этим экземпляром, на местном времени, всемирном координированном времени (UTC) или ни на одном. |
7 | миллисекунды | Получает компонент в миллисекундах даты, представленной этим экземпляром. |
8 | минут | Получает минутный компонент даты, представленной этим экземпляром. |
9 | Месяц | Получает компонент месяца даты, представленной этим экземпляром. |
10 | Сейчас | Получает объект DateTime , для которого установлены текущие дата и время на этом компьютере, выраженные в виде местного времени. |
11 | второй | Получает компонент секунд даты, представленной этим экземпляром. |
12 | Клещи | Получает количество тиков, представляющих дату и время этого экземпляра. |
13 | TimeOfDay | Получает время суток для этого экземпляра. |
14 | сегодня | Получает текущую дату. |
15 | UtcNow | Получает объект DateTime , для которого на текущем компьютере установлены текущие дата и время, выраженные как всемирное координированное время (UTC). |
16 | Год | Получает компонент года даты, представленной этим экземпляром. |
В следующей таблице перечислены некоторые из наиболее часто используемых методов структуры DateTime.
Sr.No | Название и описание метода |
---|---|
1 |
Открытая функция Add (значение как TimeSpan) как DateTime Возвращает новый DateTime, который добавляет значение указанного TimeSpan к значению этого экземпляра. |
2 |
Открытая функция AddDays (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество дней к значению этого экземпляра. |
3 |
Открытая функция AddHours (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество часов к значению этого экземпляра. |
4 |
Открытая функция AddMinutes (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество минут к значению этого экземпляра. |
5 |
Открытая функция AddMonths (месяцы как целое число) как дата и время Возвращает новый DateTime, который добавляет указанное количество месяцев к значению этого экземпляра. |
6 |
Открытая функция AddSeconds (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество секунд к значению этого экземпляра. |
7 |
Открытая функция AddYears (значение как целое число) как DateTime Возвращает новый DateTime, который добавляет указанное число лет к значению этого экземпляра. |
8 |
Сравнение общедоступных общих функций (t1 как DateTime, t2 как DateTime) как целое число Сравнивает два экземпляра DateTime и возвращает целое число, указывающее, является ли первый экземпляр более ранним, чем тот же или более поздним, чем второй. |
9 |
Открытая функция CompareTo (значение как DateTime) как целое число Сравнивает значение этого экземпляра с указанным значением DateTime и возвращает целое число, указывающее, является ли этот экземпляр более ранним, таким же или позже указанного значения DateTime. |
10 |
Открытая функция Equals (значение As DateTime) As Boolean Возвращает значение, указывающее, равно ли значение этого экземпляра значению указанного экземпляра DateTime. |
11 |
Открытая общая функция равна (t1 как DateTime, t2 как DateTime) как логическое значение Возвращает значение, указывающее, имеют ли два экземпляра DateTime одинаковые значения даты и времени. |
12 |
Открытая функция переопределения ToString As String Преобразует значение текущего объекта DateTime в его эквивалентное строковое представление. |
Открытая функция Add (значение как TimeSpan) как DateTime
Возвращает новый DateTime, который добавляет значение указанного TimeSpan к значению этого экземпляра.
Открытая функция AddDays (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество дней к значению этого экземпляра.
Открытая функция AddHours (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество часов к значению этого экземпляра.
Открытая функция AddMinutes (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество минут к значению этого экземпляра.
Открытая функция AddMonths (месяцы как целое число) как дата и время
Возвращает новый DateTime, который добавляет указанное количество месяцев к значению этого экземпляра.
Открытая функция AddSeconds (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество секунд к значению этого экземпляра.
Открытая функция AddYears (значение как целое число) как DateTime
Возвращает новый DateTime, который добавляет указанное число лет к значению этого экземпляра.
Сравнение общедоступных общих функций (t1 как DateTime, t2 как DateTime) как целое число
Сравнивает два экземпляра DateTime и возвращает целое число, указывающее, является ли первый экземпляр более ранним, чем тот же или более поздним, чем второй.
Открытая функция CompareTo (значение как DateTime) как целое число
Сравнивает значение этого экземпляра с указанным значением DateTime и возвращает целое число, указывающее, является ли этот экземпляр более ранним, таким же или позже указанного значения DateTime.
Открытая функция Equals (значение As DateTime) As Boolean
Возвращает значение, указывающее, равно ли значение этого экземпляра значению указанного экземпляра DateTime.
Открытая общая функция равна (t1 как DateTime, t2 как DateTime) как логическое значение
Возвращает значение, указывающее, имеют ли два экземпляра DateTime одинаковые значения даты и времени.
Открытая функция переопределения ToString As String
Преобразует значение текущего объекта DateTime в его эквивалентное строковое представление.
Приведенный выше список методов не является исчерпывающим, пожалуйста, посетите документацию Microsoft для полного списка методов и свойств структуры DateTime.
Создание объекта DateTime
Вы можете создать объект DateTime одним из следующих способов:
-
Вызывая конструктор DateTime из любого перегруженного конструктора DateTime.
-
Присваивая объекту DateTime значение даты и времени, возвращаемое свойством или методом.
-
Разбор строкового представления значения даты и времени.
-
Вызывая неявный конструктор по умолчанию для структуры DateTime.
Вызывая конструктор DateTime из любого перегруженного конструктора DateTime.
Присваивая объекту DateTime значение даты и времени, возвращаемое свойством или методом.
Разбор строкового представления значения даты и времени.
Вызывая неявный конструктор по умолчанию для структуры DateTime.
Следующий пример демонстрирует это —
Module Module1 Sub Main() 'DateTime constructor: parameters year, month, day, hour, min, sec Dim date1 As New Date(2012, 12, 16, 12, 0, 0) 'initializes a new DateTime value Dim date2 As Date = #12/16/2012 12:00:52 AM# 'using properties Dim date3 As Date = Date.Now Dim date4 As Date = Date.UtcNow Dim date5 As Date = Date.Today Console.WriteLine(date1) Console.WriteLine(date2) Console.WriteLine(date3) Console.WriteLine(date4) Console.WriteLine(date5) Console.ReadKey() End Sub End Module
Когда приведенный выше код был скомпилирован и выполнен, он дает следующий результат —
12/16/2012 12:00:00 PM 12/16/2012 12:00:52 PM 12/12/2012 10:22:50 PM 12/12/2012 12:00:00 PM
Получение текущей даты и времени
Следующие программы демонстрируют, как получить текущую дату и время в VB.Net —
Текущее время —
Модуль dateNtime Sub Main () Console.Write ("Текущее время:") ЕЫпе (Now.ToLongTimeString) Console.ReadKey () End Sub Конечный модуль
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Current Time: 11 :05 :32 AM
Текущая дата —
Module dateNtime Sub Main() Console.WriteLine("Current Date: ") Dim dt As Date = Today Console.WriteLine("Today is: {0}", dt) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Today is: 12/11/2012 12:00:00 AM
Форматирование даты
Литерал Date должен быть заключен в хеш-символы (# #) и указан в формате M / d / yyyy, например # 12/16/2012 #. В противном случае ваш код может измениться в зависимости от локали, в которой работает ваше приложение.
Например, вы указали литерал Date # 2/6/2012 # для даты 6 февраля 2012 г. Это нормально для локали, которая использует формат mm / dd / yyyy. Однако в локали, использующей формат dd / mm / yyyy, ваш литерал будет скомпилирован до 2 июня 2012 г. Если в локали используется другой формат, скажем, yyyy / mm / dd, литерал будет недействительным и приведет к ошибке компилятора.
Чтобы преобразовать литерал Date в формат вашей локали или в пользовательский формат, используйте функцию Format класса String, указав предопределенный или определенный пользователем формат даты.
Следующий пример демонстрирует это.
Module dateNtime Sub Main() Console.WriteLine("India Wins Freedom: ") Dim independenceDay As New Date(1947, 8, 15, 0, 0, 0) ' Use format specifiers to control the date display. Console.WriteLine(" Format 'd:' " & independenceDay.ToString("d")) Console.WriteLine(" Format 'D:' " & independenceDay.ToString("D")) Console.WriteLine(" Format 't:' " & independenceDay.ToString("t")) Console.WriteLine(" Format 'T:' " & independenceDay.ToString("T")) Console.WriteLine(" Format 'f:' " & independenceDay.ToString("f")) Console.WriteLine(" Format 'F:' " & independenceDay.ToString("F")) Console.WriteLine(" Format 'g:' " & independenceDay.ToString("g")) Console.WriteLine(" Format 'G:' " & independenceDay.ToString("G")) Console.WriteLine(" Format 'M:' " & independenceDay.ToString("M")) Console.WriteLine(" Format 'R:' " & independenceDay.ToString("R")) Console.WriteLine(" Format 'y:' " & independenceDay.ToString("y")) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
India Wins Freedom: Format 'd:' 8/15/1947 Format 'D:' Friday, August 15, 1947 Format 't:' 12:00 AM Format 'T:' 12:00:00 AM Format 'f:' Friday, August 15, 1947 12:00 AM Format 'F:' Friday, August 15, 1947 12:00:00 AM Format 'g:' 8/15/1947 12:00 AM Format 'G:' 8/15/1947 12:00:00 AM Format 'M:' 8/15/1947 August 15 Format 'R:' Fri, 15 August 1947 00:00:00 GMT Format 'y:' August, 1947
Предопределенные форматы даты / времени
В следующей таблице указаны предварительно заданные имена форматов даты и времени. Они могут использоваться по имени в качестве аргумента стиля для функции Format —
Формат | Описание |
---|---|
Общая дата или G | Отображает дату и / или время. Например, 12.01.2012 07:07:30. |
Длинная дата, средняя дата или D | Отображает дату в соответствии с длинным форматом вашей текущей культуры. Например, воскресенье, 16 декабря 2012 года. |
Короткая дата или д | Отображает дату, используя краткий формат даты вашей текущей культуры. Например, 12.12.2012. |
Долгое время, Среднее время, orT | Отображает время, используя формат времени вашей текущей культуры; обычно включает часы, минуты, секунды. Например, 01:07:30. |
Короткое время или т | Отображает время, используя формат времени вашей текущей культуры. Например, 11:07. |
е | Отображает длинную дату и короткое время в соответствии с форматом вашей текущей культуры. Например, воскресенье, 16 декабря 2012 г., 12:15. |
F | Отображает длинную дату и долгое время в соответствии с форматом вашей текущей культуры. Например, воскресенье, 16 декабря 2012 г., 12:15:31. |
г | Отображает короткую дату и короткое время в соответствии с форматом вашей текущей культуры. Например, 16.12.2012 00:15. |
М, м | Отображает месяц и день даты. Например, 16 декабря. |
R, R | Форматирует дату в соответствии со свойством RFC1123Pattern. |
s | Форматирует дату и время в качестве сортируемого индекса. Например, 2012-12-16T12: 07: 31. |
U | Форматирует дату и время в качестве сортируемого индекса GMT. Например, 2012-12-16 12: 15: 31Z. |
U | Форматирует дату и время с длинной датой и долгим временем как GMT. Например, воскресенье, 16 декабря 2012 г., 6:07:31. |
Y, у | Форматирует дату как год и месяц. Например, декабрь 2012 г. |
Для других форматов, таких как пользовательские форматы, пожалуйста, обратитесь к документации Microsoft .
Свойства и методы класса DateAndTime
В следующей таблице перечислены некоторые из наиболее часто используемых свойств класса DateAndTime.
Sr.No | Описание недвижимости |
---|---|
1 |
Дата Возвращает или задает строковое значение, представляющее текущую дату в соответствии с вашей системой. |
2 |
Сейчас Возвращает значение Date, содержащее текущую дату и время в соответствии с вашей системой. |
3 |
TimeOfDay Возвращает или устанавливает значение Date, содержащее текущее время дня в соответствии с вашей системой. |
4 |
таймер Возвращает значение Double, представляющее количество секунд, прошедших с полуночи. |
5 |
TimeString Возвращает или задает строковое значение, представляющее текущее время дня в соответствии с вашей системой. |
6 |
сегодня Получает текущую дату. |
Дата
Возвращает или задает строковое значение, представляющее текущую дату в соответствии с вашей системой.
Сейчас
Возвращает значение Date, содержащее текущую дату и время в соответствии с вашей системой.
TimeOfDay
Возвращает или устанавливает значение Date, содержащее текущее время дня в соответствии с вашей системой.
таймер
Возвращает значение Double, представляющее количество секунд, прошедших с полуночи.
TimeString
Возвращает или задает строковое значение, представляющее текущее время дня в соответствии с вашей системой.
сегодня
Получает текущую дату.
В следующей таблице перечислены некоторые из наиболее часто используемых методов класса DateAndTime.
Sr.No | Название и описание метода |
---|---|
1 |
Открытая общая функция DateAdd (Interval As DateInterval, Number As Double, DateValue As DateTime) As DateTime Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени. |
2 |
Открытая общая функция DateAdd (Interval As String, Number As Double, DateValue As Object) As DateTime Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени. |
3 |
Открытая общая функция DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, DayOfWeek As FirstDayOfWeek, WeekOfYear As FirstWeekOfYear) As Long Возвращает значение Long, указывающее количество временных интервалов между двумя значениями Date. |
4 |
Открытая общая функция DatePart (Interval As DateInterval, DateValue As DateTime, FirstDayOfWeekValue As FirstDayOfWeek, FirstWeekOfYearValue As FirstWeekOfYear) Как целое число Возвращает целочисленное значение, содержащее указанный компонент данного значения даты. |
5 |
Открытая общая функция Day (DateValue As DateTime) As Integer Возвращает целочисленное значение от 1 до 31, представляющее день месяца. |
6 |
Публичная общая функция час (TimeValue As DateTime) как целое число Возвращает целочисленное значение от 0 до 23, представляющее час дня. |
7 |
Публичная общая функция Minute (TimeValue As DateTime) As Integer Возвращает целочисленное значение от 0 до 59, представляющее минуты часа. |
8 |
Месяц общедоступной общей функции (DateValue As DateTime) As Integer Возвращает целочисленное значение от 1 до 12, представляющее месяц года. |
9 |
Открытая общая функция MonthName (Month As Integer, сокращенно Boolean) As String Возвращает строковое значение, содержащее название указанного месяца. |
10 |
Общедоступная общая функция Second (TimeValue As DateTime) As Integer Возвращает целочисленное значение от 0 до 59, представляющее секунду минуты. |
11 |
Открытая переопределяемая функция ToString As String Возвращает строку, которая представляет текущий объект. |
12 |
Открытая общая функция Weekday (DateValue As DateTime, DayOfWeek As FirstDayOfWeek) As Integer Возвращает целочисленное значение, содержащее число, представляющее день недели. |
13 |
Открытая общая функция WeekdayName (Weekday As Integer, сокращенно Boolean, FirstDayOfWeekValue As FirstDayOfWeek) As String Возвращает строковое значение, содержащее имя указанного дня недели. |
14 |
Public Shared Function Year (DateValue As DateTime) Как целое число Возвращает целочисленное значение от 1 до 9999, представляющее год. |
Открытая общая функция DateAdd (Interval As DateInterval, Number As Double, DateValue As DateTime) As DateTime
Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени.
Открытая общая функция DateAdd (Interval As String, Number As Double, DateValue As Object) As DateTime
Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени.
Открытая общая функция DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, DayOfWeek As FirstDayOfWeek, WeekOfYear As FirstWeekOfYear) As Long
Возвращает значение Long, указывающее количество временных интервалов между двумя значениями Date.
Открытая общая функция DatePart (Interval As DateInterval, DateValue As DateTime, FirstDayOfWeekValue As FirstDayOfWeek, FirstWeekOfYearValue As FirstWeekOfYear) Как целое число
Возвращает целочисленное значение, содержащее указанный компонент данного значения даты.
Открытая общая функция Day (DateValue As DateTime) As Integer
Возвращает целочисленное значение от 1 до 31, представляющее день месяца.
Публичная общая функция час (TimeValue As DateTime) как целое число
Возвращает целочисленное значение от 0 до 23, представляющее час дня.
Публичная общая функция Minute (TimeValue As DateTime) As Integer
Возвращает целочисленное значение от 0 до 59, представляющее минуты часа.
Месяц общедоступной общей функции (DateValue As DateTime) As Integer
Возвращает целочисленное значение от 1 до 12, представляющее месяц года.
Открытая общая функция MonthName (Month As Integer, сокращенно Boolean) As String
Возвращает строковое значение, содержащее название указанного месяца.
Общедоступная общая функция Second (TimeValue As DateTime) As Integer
Возвращает целочисленное значение от 0 до 59, представляющее секунду минуты.
Открытая переопределяемая функция ToString As String
Возвращает строку, которая представляет текущий объект.
Открытая общая функция Weekday (DateValue As DateTime, DayOfWeek As FirstDayOfWeek) As Integer
Возвращает целочисленное значение, содержащее число, представляющее день недели.
Открытая общая функция WeekdayName (Weekday As Integer, сокращенно Boolean, FirstDayOfWeekValue As FirstDayOfWeek) As String
Возвращает строковое значение, содержащее имя указанного дня недели.
Public Shared Function Year (DateValue As DateTime) Как целое число
Возвращает целочисленное значение от 1 до 9999, представляющее год.
Приведенный выше список не является исчерпывающим. Полный список свойств и методов класса DateAndTime можно найти в документации Microsoft .
Следующая программа демонстрирует некоторые из них и методы —
Module Module1 Sub Main() Dim birthday As Date Dim bday As Integer Dim month As Integer Dim monthname As String ' Assign a date using standard short format. birthday = #7/27/1998# bday = Microsoft.VisualBasic.DateAndTime.Day(birthday) month = Microsoft.VisualBasic.DateAndTime.Month(birthday) monthname = Microsoft.VisualBasic.DateAndTime.MonthName(month) Console.WriteLine(birthday) Console.WriteLine(bday) Console.WriteLine(month) Console.WriteLine(monthname) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
7/27/1998 12:00:00 AM 27 7 July
VB.Net — Массивы
В массиве хранится последовательная коллекция фиксированного размера элементов одного типа. Массив используется для хранения коллекции данных, но часто более полезно думать о массиве как о коллекции переменных одного типа.
Все массивы состоят из смежных областей памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес — последнему.
Создание массивов в VB.Net
Чтобы объявить массив в VB.Net, вы используете оператор Dim. Например,
Dim intData(30) ' an array of 31 elements Dim strData(20) As String ' an array of 21 strings Dim twoDarray(10, 20) As Integer 'a two dimensional array of integers Dim ranges(10, 100) 'a two dimensional array
Вы также можете инициализировать элементы массива при объявлении массива. Например,
Dim intData() As Integer = {12, 16, 20, 24, 28, 32} Dim names() As String = {"Karthik", "Sandhya", _ "Shivangi", "Ashwitha", "Somnath"} Dim miscData() As Object = {"Hello World", 12d, 16ui, "A"c}
Элементы в массиве могут быть сохранены и доступны с помощью индекса массива. Следующая программа демонстрирует это —
Module arrayApl Sub Main() Dim n(10) As Integer ' n is an array of 11 integers ' Dim i, j As Integer ' initialize elements of array n ' For i = 0 To 10 n(i) = i + 100 ' set element at location i to i + 100 Next i ' output each array element's value ' For j = 0 To 10 Console.WriteLine("Element({0}) = {1}", j, n(j)) Next j Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Element(0) = 100 Element(1) = 101 Element(2) = 102 Element(3) = 103 Element(4) = 104 Element(5) = 105 Element(6) = 106 Element(7) = 107 Element(8) = 108 Element(9) = 109 Element(10) = 110
Динамические массивы
Динамические массивы — это массивы, которые могут измеряться и изменяться в соответствии с потребностями программы. Вы можете объявить динамический массив с помощью оператора ReDim .
Синтаксис для оператора ReDim —
ReDim [Preserve] arrayname(subscripts)
Куда,
-
Ключевое слово Preserve помогает сохранить данные в существующем массиве при изменении его размера.
-
arrayname — имя массива для повторного измерения.
-
subscripts указывает новое измерение.
Ключевое слово Preserve помогает сохранить данные в существующем массиве при изменении его размера.
arrayname — имя массива для повторного измерения.
subscripts указывает новое измерение.
Module arrayApl Sub Main() Dim marks() As Integer ReDim marks(2) marks(0) = 85 marks(1) = 75 marks(2) = 90 ReDim Preserve marks(10) marks(3) = 80 marks(4) = 76 marks(5) = 92 marks(6) = 99 marks(7) = 79 marks(8) = 75 For i = 0 To 10 Console.WriteLine(i & vbTab & marks(i)) Next i Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
0 85 1 75 2 90 3 80 4 76 5 92 6 99 7 79 8 75 9 0 10 0
Многомерные массивы
VB.Net допускает многомерные массивы. Многомерные массивы также называют прямоугольными массивами.
Вы можете объявить двумерный массив строк как —
Dim twoDStringArray(10, 20) As String
или трехмерный массив целочисленных переменных —
Dim threeDIntArray(10, 10, 10) As Integer
Следующая программа демонстрирует создание и использование 2-мерного массива —
Module arrayApl Sub Main() ' an array with 5 rows and 2 columns Dim a(,) As Integer = {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}} Dim i, j As Integer ' output each array element's value ' For i = 0 To 4 For j = 0 To 1 Console.WriteLine("a[{0},{1}] = {2}", i, j, a(i, j)) Next j Next i Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
a[0,0]: 0 a[0,1]: 0 a[1,0]: 1 a[1,1]: 2 a[2,0]: 2 a[2,1]: 4 a[3,0]: 3 a[3,1]: 6 a[4,0]: 4 a[4,1]: 8
Зубчатый массив
Jagged массив — это массив массивов. Следующий код показывает объявление зубчатого массива с именем показателей целых чисел —
Dim scores As Integer()() = New Integer(5)(){}
Следующий пример иллюстрирует использование зубчатого массива —
Module arrayApl Sub Main() 'a jagged array of 5 array of integers Dim a As Integer()() = New Integer(4)() {} a(0) = New Integer() {0, 0} a(1) = New Integer() {1, 2} a(2) = New Integer() {2, 4} a(3) = New Integer() {3, 6} a(4) = New Integer() {4, 8} Dim i, j As Integer ' output each array element's value For i = 0 To 4 For j = 0 To 1 Console.WriteLine("a[{0},{1}] = {2}", i, j, a(i)(j)) Next j Next i Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
a[0][0]: 0 a[0][1]: 0 a[1][0]: 1 a[1][1]: 2 a[2][0]: 2 a[2][1]: 4 a[3][0]: 3 a[3][1]: 6 a[4][0]: 4 a[4][1]: 8
Массив Класс
Класс Array является базовым классом для всех массивов в VB.Net. Он определяется в пространстве имен System. Класс Array предоставляет различные свойства и методы для работы с массивами.
Свойства класса Array
В следующей таблице приведены некоторые наиболее часто используемые свойства класса Array.
Sr.No | Название и описание недвижимости |
---|---|
1 |
IsFixedSize Получает значение, указывающее, имеет ли массив фиксированный размер. |
2 |
IsReadOnly Получает значение, указывающее, доступен ли массив только для чтения. |
3 |
длина Получает 32-разрядное целое число, представляющее общее количество элементов во всех измерениях массива. |
4 |
Большая длина Получает 64-разрядное целое число, представляющее общее количество элементов во всех измерениях массива. |
5 |
Ранг Получает ранг (количество измерений) массива. |
IsFixedSize
Получает значение, указывающее, имеет ли массив фиксированный размер.
IsReadOnly
Получает значение, указывающее, доступен ли массив только для чтения.
длина
Получает 32-разрядное целое число, представляющее общее количество элементов во всех измерениях массива.
Большая длина
Получает 64-разрядное целое число, представляющее общее количество элементов во всех измерениях массива.
Ранг
Получает ранг (количество измерений) массива.
Методы класса Array
В следующей таблице приведены некоторые из наиболее часто используемых методов класса Array.
Sr.No | Название и описание метода |
---|---|
1 |
Public Shared Sub Clear (массив как массив, индекс как целое число, длина как целое число) Устанавливает диапазон элементов в массиве на ноль, на ложь или на ноль, в зависимости от типа элемента. |
2 |
Public Shared Sub Copy (sourceArray As Array, destinationArray As Array, длина As Integer) Копирует диапазон элементов из массива, начиная с первого элемента, и вставляет их в другой массив, начиная с первого элемента. Длина указывается как 32-разрядное целое число. |
3 |
Public Sub CopyTo (массив как массив, индекс как целое число) Копирует все элементы текущего одномерного массива в указанный одномерный массив, начиная с указанного индекса целевого массива. Индекс указывается как 32-разрядное целое число. |
4 |
Открытая функция GetLength (измерение как целое число) как целое число Получает 32-разрядное целое число, которое представляет количество элементов в указанном измерении массива. |
5 |
Открытая функция GetLongLength (измерение как целое число), как долго Получает 64-разрядное целое число, которое представляет количество элементов в указанном измерении массива. |
6 |
Открытая функция GetLowerBound (измерение как целое число) как целое число Получает нижнюю границу указанного измерения в массиве. |
7 |
Открытая функция GetType As Type Получает тип текущего экземпляра (унаследованного от объекта). |
8 |
Открытая функция GetUpperBound (измерение как целое число) как целое число Получает верхнюю границу указанного измерения в массиве. |
9 |
Открытая функция GetValue (индекс как целое число) как объект Получает значение в указанной позиции в одномерном массиве. Индекс указывается как 32-разрядное целое число. |
10 |
Открытая общая функция IndexOf (массив как массив, значение как объект) как целое число Ищет указанный объект и возвращает индекс первого вхождения во всем одномерном массиве. |
11 |
Public Shared Sub Reverse (массив как массив) Меняет последовательность элементов во всем одномерном массиве. |
12 |
Public Sub SetValue (значение как объект, индекс как целое число) Устанавливает значение для элемента в указанной позиции в одномерном массиве. Индекс указывается как 32-разрядное целое число. |
13 |
Public Shared Sub Sort (массив как массив) Сортирует элементы во всем одномерном массиве, используя реализацию IComparable каждого элемента массива. |
14 |
Открытая переопределяемая функция ToString As String Возвращает строку, которая представляет текущий объект (Наследуется от Object). |
Public Shared Sub Clear (массив как массив, индекс как целое число, длина как целое число)
Устанавливает диапазон элементов в массиве на ноль, на ложь или на ноль, в зависимости от типа элемента.
Public Shared Sub Copy (sourceArray As Array, destinationArray As Array, длина As Integer)
Копирует диапазон элементов из массива, начиная с первого элемента, и вставляет их в другой массив, начиная с первого элемента. Длина указывается как 32-разрядное целое число.
Public Sub CopyTo (массив как массив, индекс как целое число)
Копирует все элементы текущего одномерного массива в указанный одномерный массив, начиная с указанного индекса целевого массива. Индекс указывается как 32-разрядное целое число.
Открытая функция GetLength (измерение как целое число) как целое число
Получает 32-разрядное целое число, которое представляет количество элементов в указанном измерении массива.
Открытая функция GetLongLength (измерение как целое число), как долго
Получает 64-разрядное целое число, которое представляет количество элементов в указанном измерении массива.
Открытая функция GetLowerBound (измерение как целое число) как целое число
Получает нижнюю границу указанного измерения в массиве.
Открытая функция GetType As Type
Получает тип текущего экземпляра (унаследованного от объекта).
Открытая функция GetUpperBound (измерение как целое число) как целое число
Получает верхнюю границу указанного измерения в массиве.
Открытая функция GetValue (индекс как целое число) как объект
Получает значение в указанной позиции в одномерном массиве. Индекс указывается как 32-разрядное целое число.
Открытая общая функция IndexOf (массив как массив, значение как объект) как целое число
Ищет указанный объект и возвращает индекс первого вхождения во всем одномерном массиве.
Public Shared Sub Reverse (массив как массив)
Меняет последовательность элементов во всем одномерном массиве.
Public Sub SetValue (значение как объект, индекс как целое число)
Устанавливает значение для элемента в указанной позиции в одномерном массиве. Индекс указывается как 32-разрядное целое число.
Public Shared Sub Sort (массив как массив)
Сортирует элементы во всем одномерном массиве, используя реализацию IComparable каждого элемента массива.
Открытая переопределяемая функция ToString As String
Возвращает строку, которая представляет текущий объект (Наследуется от Object).
Полный список свойств и методов класса Array см. В документации Microsoft.
пример
Следующая программа демонстрирует использование некоторых методов класса Array:
Module arrayApl Sub Main() Dim list As Integer() = {34, 72, 13, 44, 25, 30, 10} Dim temp As Integer() = list Dim i As Integer Console.Write("Original Array: ") For Each i In list Console.Write("{0} ", i) Next i Console.WriteLine() ' reverse the array Array.Reverse(temp) Console.Write("Reversed Array: ") For Each i In temp Console.Write("{0} ", i) Next i Console.WriteLine() 'sort the array Array.Sort(list) Console.Write("Sorted Array: ") For Each i In list Console.Write("{0} ", i) Next i Console.WriteLine() Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Original Array: 34 72 13 44 25 30 10 Reversed Array: 10 30 25 44 13 72 34 Sorted Array: 10 13 25 30 34 44 72
VB.Net — Коллекции
Классы коллекций — это специализированные классы для хранения и поиска данных Эти классы обеспечивают поддержку стеков, очередей, списков и хеш-таблиц. Большинство классов коллекции реализуют одинаковые интерфейсы.
Классы коллекций служат различным целям, таким как динамическое выделение памяти для элементов и доступ к списку элементов на основе индекса и т. Д. Эти классы создают коллекции объектов класса Object, который является базовым классом для всех типов данных в VB. .Сеть.
Различные классы коллекций и их использование
Ниже приведены различные часто используемые классы пространства имен System.Collection . Нажмите на следующие ссылки, чтобы проверить их детали.
Учебный класс | Описание и использование |
---|---|
Он представляет упорядоченную коллекцию объекта, которая может быть проиндексирована индивидуально. Это в основном альтернатива массиву. Однако, в отличие от массива, вы можете добавлять и удалять элементы из списка в указанной позиции, используя индекс, и размер массива автоматически изменяется. Это также позволяет динамическое выделение памяти, добавлять, искать и сортировать элементы в списке. |
|
Он использует ключ для доступа к элементам в коллекции. Хеш-таблица используется, когда вам нужно получить доступ к элементам с помощью ключа, и вы можете определить полезное значение ключа. Каждый элемент в хеш-таблице имеет пару ключ / значение . Ключ используется для доступа к элементам в коллекции. |
|
Он использует ключ и индекс для доступа к элементам в списке. Сортированный список — это комбинация массива и хеш-таблицы. Он содержит список элементов, к которым можно получить доступ с помощью ключа или индекса. Если вы обращаетесь к элементам с помощью индекса, это ArrayList, а если вы получаете доступ к элементам с помощью ключа, это Hashtable. Коллекция предметов всегда сортируется по значению ключа. |
|
Он представляет коллекцию объектов « последний пришел — первый вышел» . Он используется, когда вам нужен доступ «первым пришел — первым вышел». Когда вы добавляете элемент в список, это называется подталкиванием элемента, а когда вы удаляете его, он называется выталкиванием элемента. |
|
Он представляет собой коллекцию объектов « первым пришел — первым вышел» . Он используется, когда вам нужен доступ первым, первым и первым. Когда вы добавляете элемент в список, он называется enqueue , а когда вы удаляете элемент, он называется deque . |
|
Он представляет собой массив двоичного представления, используя значения 1 и 0. Он используется, когда вам нужно сохранить биты, но заранее не знать их количество. Вы можете получить доступ к элементам из коллекции BitArray, используя целочисленный индекс , который начинается с нуля. |
Он представляет упорядоченную коллекцию объекта, которая может быть проиндексирована индивидуально.
Это в основном альтернатива массиву. Однако, в отличие от массива, вы можете добавлять и удалять элементы из списка в указанной позиции, используя индекс, и размер массива автоматически изменяется. Это также позволяет динамическое выделение памяти, добавлять, искать и сортировать элементы в списке.
Он использует ключ для доступа к элементам в коллекции.
Хеш-таблица используется, когда вам нужно получить доступ к элементам с помощью ключа, и вы можете определить полезное значение ключа. Каждый элемент в хеш-таблице имеет пару ключ / значение . Ключ используется для доступа к элементам в коллекции.
Он использует ключ и индекс для доступа к элементам в списке.
Сортированный список — это комбинация массива и хеш-таблицы. Он содержит список элементов, к которым можно получить доступ с помощью ключа или индекса. Если вы обращаетесь к элементам с помощью индекса, это ArrayList, а если вы получаете доступ к элементам с помощью ключа, это Hashtable. Коллекция предметов всегда сортируется по значению ключа.
Он представляет коллекцию объектов « последний пришел — первый вышел» .
Он используется, когда вам нужен доступ «первым пришел — первым вышел». Когда вы добавляете элемент в список, это называется подталкиванием элемента, а когда вы удаляете его, он называется выталкиванием элемента.
Он представляет собой коллекцию объектов « первым пришел — первым вышел» .
Он используется, когда вам нужен доступ первым, первым и первым. Когда вы добавляете элемент в список, он называется enqueue , а когда вы удаляете элемент, он называется deque .
Он представляет собой массив двоичного представления, используя значения 1 и 0.
Он используется, когда вам нужно сохранить биты, но заранее не знать их количество. Вы можете получить доступ к элементам из коллекции BitArray, используя целочисленный индекс , который начинается с нуля.
VB.Net — Функции
Процедура — это группа операторов, которые вместе выполняют задачу при вызове. После выполнения процедуры элемент управления возвращается к оператору, вызывающему процедуру. VB.Net имеет два типа процедур —
-
функции
-
Sub процедуры или Subs
функции
Sub процедуры или Subs
Функции возвращают значение, тогда как Subs не возвращают значение.
Определение функции
Оператор Function используется для объявления имени, параметра и тела функции. Синтаксис для оператора Function —
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType [Statements] End Function
Куда,
-
Модификаторы — укажите уровень доступа к функции; Возможные значения: Public, Private, Protected, Friend, Protected Friend и информация о перегрузке, переопределении, совместном использовании и теневом копировании.
-
FunctionName — указывает название функции
-
ParameterList — указывает список параметров
-
ReturnType — указывает тип данных переменной, которую возвращает функция
Модификаторы — укажите уровень доступа к функции; Возможные значения: Public, Private, Protected, Friend, Protected Friend и информация о перегрузке, переопределении, совместном использовании и теневом копировании.
FunctionName — указывает название функции
ParameterList — указывает список параметров
ReturnType — указывает тип данных переменной, которую возвращает функция
пример
В следующем фрагменте кода показана функция FindMax, которая принимает два целых значения и возвращает большее из двух значений.
Function FindMax(ByVal num1 As Integer, ByVal num2 As Integer) As Integer ' local variable declaration */ Dim result As Integer If (num1 > num2) Then result = num1 Else result = num2 End If FindMax = result End Function
Функция, возвращающая значение
В VB.Net функция может возвращать значение вызывающему коду двумя способами:
-
Используя инструкцию return
-
Присваивая значение имени функции
Используя инструкцию return
Присваивая значение имени функции
В следующем примере демонстрируется использование функции FindMax —
Module myfunctions Function FindMax(ByVal num1 As Integer, ByVal num2 As Integer) As Integer ' local variable declaration */ Dim result As Integer If (num1 > num2) Then result = num1 Else result = num2 End If FindMax = result End Function Sub Main() Dim a As Integer = 100 Dim b As Integer = 200 Dim res As Integer res = FindMax(a, b) Console.WriteLine("Max value is : {0}", res) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Max value is : 200
Рекурсивная функция
Функция может вызывать сама себя. Это известно как рекурсия. Ниже приведен пример, который вычисляет факториал для данного числа с использованием рекурсивной функции:
Module myfunctions Function factorial(ByVal num As Integer) As Integer ' local variable declaration */ Dim result As Integer If (num = 1) Then Return 1 Else result = factorial(num - 1) * num Return result End If End Function Sub Main() 'calling the factorial method Console.WriteLine("Factorial of 6 is : {0}", factorial(6)) Console.WriteLine("Factorial of 7 is : {0}", factorial(7)) Console.WriteLine("Factorial of 8 is : {0}", factorial(8)) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Factorial of 6 is: 720 Factorial of 7 is: 5040 Factorial of 8 is: 40320
Массивы Парам
Иногда, объявляя функцию или подпроцедуру, вы не уверены в количестве аргументов, переданных в качестве параметра. В это время вам могут помочь массивы параметров VB.Net (или массивы параметров).
Следующий пример демонстрирует это —
Module myparamfunc Function AddElements(ParamArray arr As Integer()) As Integer Dim sum As Integer = 0 Dim i As Integer = 0 For Each i In arr sum += i Next i Return sum End Function Sub Main() Dim sum As Integer sum = AddElements(512, 720, 250, 567, 889) Console.WriteLine("The sum is: {0}", sum) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
The sum is: 2938
Передача массивов в качестве функциональных аргументов
Вы можете передать массив в качестве аргумента функции в VB.Net. Следующий пример демонстрирует это —
Module arrayParameter Function getAverage(ByVal arr As Integer(), ByVal size As Integer) As Double 'local variables Dim i As Integer Dim avg As Double Dim sum As Integer = 0 For i = 0 To size - 1 sum += arr(i) Next i avg = sum / size Return avg End Function Sub Main() ' an int array with 5 elements ' Dim balance As Integer() = {1000, 2, 3, 17, 50} Dim avg As Double 'pass pointer to the array as an argument avg = getAverage(balance, 5) ' output the returned value ' Console.WriteLine("Average value is: {0} ", avg) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Average value is: 214.4
VB.Net — Подпроцедуры
Как мы упоминали в предыдущей главе, подпроцедуры — это процедуры, которые не возвращают никакого значения. Мы использовали подпроцедуру Main во всех наших примерах. До сих пор мы писали консольные приложения в этих руководствах. Когда эти приложения запускаются, элемент управления переходит к процедуре Main Sub и, в свою очередь, выполняет любые другие операторы, составляющие тело программы.
Определение подпроцедур
Оператор Sub используется для объявления имени, параметра и тела подпроцедуры. Синтаксис для оператора Sub —
[Modifiers] Sub SubName [(ParameterList)] [Statements] End Sub
Куда,
-
Модификаторы — укажите уровень доступа к процедуре; Возможные значения: Общедоступный, Частный, Защищенный, Друг, Защищенный друг и информация о перегрузке, переопределении, совместном использовании и теневом копировании.
-
SubName — указывает имя Sub
-
ParameterList — указывает список параметров
Модификаторы — укажите уровень доступа к процедуре; Возможные значения: Общедоступный, Частный, Защищенный, Друг, Защищенный друг и информация о перегрузке, переопределении, совместном использовании и теневом копировании.
SubName — указывает имя Sub
ParameterList — указывает список параметров
пример
В следующем примере демонстрируется подпроцедура CalculatePay, которая принимает два параметра: часы и заработную плату и отображает общую заработную плату сотрудника.
Module mysub Sub CalculatePay(ByRef hours As Double, ByRef wage As Decimal) 'local variable declaration Dim pay As Double pay = hours * wage Console.WriteLine("Total Pay: {0:C}", pay) End Sub Sub Main() 'calling the CalculatePay Sub Procedure CalculatePay(25, 10) CalculatePay(40, 20) CalculatePay(30, 27.5) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Total Pay: $250.00 Total Pay: $800.00 Total Pay: $825.00
Передача параметров по значению
Это механизм по умолчанию для передачи параметров в метод. В этом механизме, когда вызывается метод, для каждого параметра значения создается новое место хранения. Значения фактических параметров копируются в них. Таким образом, изменения, внесенные в параметр внутри метода, не влияют на аргумент.
В VB.Net вы объявляете ссылочные параметры с помощью ключевого слова ByVal . Следующий пример демонстрирует концепцию —
Module paramByval Sub swap(ByVal x As Integer, ByVal y As Integer) Dim temp As Integer temp = x ' save the value of x x = y ' put y into x y = temp 'put temp into y End Sub Sub Main() ' local variable definition Dim a As Integer = 100 Dim b As Integer = 200 Console.WriteLine("Before swap, value of a : {0}", a) Console.WriteLine("Before swap, value of b : {0}", b) ' calling a function to swap the values ' swap(a, b) Console.WriteLine("After swap, value of a : {0}", a) Console.WriteLine("After swap, value of b : {0}", b) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Before swap, value of a :100 Before swap, value of b :200 After swap, value of a :100 After swap, value of b :200
Это показывает, что значения не меняются, хотя они были изменены внутри функции.
Передача параметров по ссылке
Ссылочный параметр — это ссылка на ячейку памяти переменной. Когда вы передаете параметры по ссылке, в отличие от значений параметров, для этих параметров не создается новое место хранения. Эталонные параметры представляют ту же область памяти, что и фактические параметры, которые передаются в метод.
В VB.Net вы объявляете ссылочные параметры, используя ключевое слово ByRef . Следующий пример демонстрирует это —
Module paramByref Sub swap(ByRef x As Integer, ByRef y As Integer) Dim temp As Integer temp = x ' save the value of x x = y ' put y into x y = temp 'put temp into y End Sub Sub Main() ' local variable definition Dim a As Integer = 100 Dim b As Integer = 200 Console.WriteLine("Before swap, value of a : {0}", a) Console.WriteLine("Before swap, value of b : {0}", b) ' calling a function to swap the values ' swap(a, b) Console.WriteLine("After swap, value of a : {0}", a) Console.WriteLine("After swap, value of b : {0}", b) Console.ReadLine() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Before swap, value of a : 100 Before swap, value of b : 200 After swap, value of a : 200 After swap, value of b : 100
VB.Net — Классы и объекты
Когда вы определяете класс, вы определяете план для типа данных. На самом деле это не определяет какие-либо данные, но определяет, что означает имя класса, то есть, из чего будет состоять объект класса и какие операции могут быть выполнены с таким объектом.
Объекты являются экземплярами класса. Методы и переменные, которые составляют класс, называются членами класса.
Определение класса
Определение класса начинается с ключевого слова Class, за которым следует имя класса; и тело класса, оканчивающееся оператором End Class. Ниже приводится общая форма определения класса —
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _ Class name [ ( Of typelist ) ] [ Inherits classname ] [ Implements interfacenames ] [ statements ] End Class
Куда,
-
attributetelist — это список атрибутов, которые применяются к классу. Необязательный.
-
accessmodifier определяет уровни доступа к классу, он имеет значения как — Public, Protected, Friend, Protected Friend и Private. Необязательный.
-
Тени указывают, что переменная повторно объявляет и скрывает элемент с одинаковым именем или набор перегруженных элементов в базовом классе. Необязательный.
-
MustInherit указывает, что класс может использоваться только как базовый класс и что вы не можете создать объект непосредственно из него, то есть абстрактный класс. Необязательный.
-
NotInheritable указывает, что класс нельзя использовать в качестве базового класса.
-
Частичное указывает на частичное определение класса.
-
Inherits указывает базовый класс, от которого он наследуется.
-
Реализация определяет интерфейсы, от которых наследуется класс.
attributetelist — это список атрибутов, которые применяются к классу. Необязательный.
accessmodifier определяет уровни доступа к классу, он имеет значения как — Public, Protected, Friend, Protected Friend и Private. Необязательный.
Тени указывают, что переменная повторно объявляет и скрывает элемент с одинаковым именем или набор перегруженных элементов в базовом классе. Необязательный.
MustInherit указывает, что класс может использоваться только как базовый класс и что вы не можете создать объект непосредственно из него, то есть абстрактный класс. Необязательный.
NotInheritable указывает, что класс нельзя использовать в качестве базового класса.
Частичное указывает на частичное определение класса.
Inherits указывает базовый класс, от которого он наследуется.
Реализация определяет интерфейсы, от которых наследуется класс.
В следующем примере демонстрируется класс Box с тремя элементами данных: длина, ширина и высота.
Module mybox Class Box Public length As Double ' Length of a box Public breadth As Double ' Breadth of a box Public height As Double ' Height of a box End Class Sub Main() Dim Box1 As Box = New Box() ' Declare Box1 of type Box Dim Box2 As Box = New Box() ' Declare Box2 of type Box Dim volume As Double = 0.0 ' Store the volume of a box here ' box 1 specification Box1.height = 5.0 Box1.length = 6.0 Box1.breadth = 7.0 ' box 2 specification Box2.height = 10.0 Box2.length = 12.0 Box2.breadth = 13.0 'volume of box 1 volume = Box1.height * Box1.length * Box1.breadth Console.WriteLine("Volume of Box1 : {0}", volume) 'volume of box 2 volume = Box2.height * Box2.length * Box2.breadth Console.WriteLine("Volume of Box2 : {0}", volume) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Volume of Box1 : 210 Volume of Box2 : 1560
Функции-члены и инкапсуляция
Функция-член класса — это функция, которая имеет свое определение или свой прототип в определении класса, как и любая другая переменная. Он работает с любым объектом класса, членом которого он является, и имеет доступ ко всем членам класса для этого объекта.
Переменные-члены — это атрибуты объекта (с точки зрения проектирования), и они остаются закрытыми для реализации инкапсуляции. Эти переменные могут быть доступны только с помощью открытых функций-членов.
Давайте изложим вышеупомянутые концепции, чтобы установить и получить значение различных членов класса в классе —
Module mybox Class Box Public length As Double ' Length of a box Public breadth As Double ' Breadth of a box Public height As Double ' Height of a box Public Sub setLength(ByVal len As Double) length = len End Sub Public Sub setBreadth(ByVal bre As Double) breadth = bre End Sub Public Sub setHeight(ByVal hei As Double) height = hei End Sub Public Function getVolume() As Double Return length * breadth * height End Function End Class Sub Main() Dim Box1 As Box = New Box() ' Declare Box1 of type Box Dim Box2 As Box = New Box() ' Declare Box2 of type Box Dim volume As Double = 0.0 ' Store the volume of a box here ' box 1 specification Box1.setLength(6.0) Box1.setBreadth(7.0) Box1.setHeight(5.0) 'box 2 specification Box2.setLength(12.0) Box2.setBreadth(13.0) Box2.setHeight(10.0) ' volume of box 1 volume = Box1.getVolume() Console.WriteLine("Volume of Box1 : {0}", volume) 'volume of box 2 volume = Box2.getVolume() Console.WriteLine("Volume of Box2 : {0}", volume) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Volume of Box1 : 210 Volume of Box2 : 1560
Конструкторы и деструкторы
Конструктор класса — это специальный член Sub класса, который выполняется всякий раз, когда мы создаем новые объекты этого класса. Конструктор имеет имя New и не имеет никакого возвращаемого типа.
Следующая программа объясняет концепцию конструктора —
Class Line Private length As Double ' Length of a line Public Sub New() 'constructor Console.WriteLine("Object is being created") End Sub Public Sub setLength(ByVal len As Double) length = len End Sub Public Function getLength() As Double Return length End Function Shared Sub Main() Dim line As Line = New Line() 'set line length line.setLength(6.0) Console.WriteLine("Length of line : {0}", line.getLength()) Console.ReadKey() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Object is being created Length of line : 6
Конструктор по умолчанию не имеет никаких параметров, но если вам нужно, конструктор может иметь параметры. Такие конструкторы называются параметризованными конструкторами . Этот метод помогает вам присвоить начальное значение объекту во время его создания, как показано в следующем примере:
Class Line Private length As Double ' Length of a line Public Sub New(ByVal len As Double) 'parameterised constructor Console.WriteLine("Object is being created, length = {0}", len) length = len End Sub Public Sub setLength(ByVal len As Double) length = len End Sub Public Function getLength() As Double Return length End Function Shared Sub Main() Dim line As Line = New Line(10.0) Console.WriteLine("Length of line set by constructor : {0}", line.getLength()) 'set line length line.setLength(6.0) Console.WriteLine("Length of line set by setLength : {0}", line.getLength()) Console.ReadKey() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Object is being created, length = 10 Length of line set by constructor : 10 Length of line set by setLength : 6
Деструктор — это специальный член Sub класса, который выполняется всякий раз, когда объект его класса выходит из области видимости.
Деструктор имеет имя Finalize и не может ни возвращать значение, ни принимать какие-либо параметры. Деструктор может быть очень полезен для освобождения ресурсов перед выходом из программы, таких как закрытие файлов, освобождение памяти и т. Д.
Деструкторы не могут быть унаследованы или перегружены.
Следующий пример объясняет понятие деструктора —
Class Line Private length As Double ' Length of a line Public Sub New() 'parameterised constructor Console.WriteLine("Object is being created") End Sub Protected Overrides Sub Finalize() ' destructor Console.WriteLine("Object is being deleted") End Sub Public Sub setLength(ByVal len As Double) length = len End Sub Public Function getLength() As Double Return length End Function Shared Sub Main() Dim line As Line = New Line() 'set line length line.setLength(6.0) Console.WriteLine("Length of line : {0}", line.getLength()) Console.ReadKey() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Object is being created Length of line : 6 Object is being deleted
Общие члены класса VB.Net
Мы можем определить членов класса как статические, используя ключевое слово Shared. Когда мы объявляем члена класса как Shared, это означает, что независимо от того, сколько объектов класса создано, существует только одна копия члена.
Ключевое слово Shared подразумевает, что для класса существует только один экземпляр члена. Общие переменные используются для определения констант, потому что их значения могут быть получены путем вызова класса без создания его экземпляра.
Общие переменные могут быть инициализированы вне определения функции-члена или класса. Вы также можете инициализировать общие переменные внутри определения класса.
Вы также можете объявить функцию-член как Shared. Такие функции могут получить доступ только к общим переменным. Общие функции существуют еще до создания объекта.
В следующем примере демонстрируется использование общих членов —
Class StaticVar Public Shared num As Integer Public Sub count() num = num + 1 End Sub Public Shared Function getNum() As Integer Return num End Function Shared Sub Main() Dim s As StaticVar = New StaticVar() s.count() s.count() s.count() Console.WriteLine("Value of variable num: {0}", StaticVar.getNum()) Console.ReadKey() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Value of variable num: 3
наследование
Одним из наиболее важных понятий в объектно-ориентированном программировании является наследование. Наследование позволяет нам определять класс в терминах другого класса, что облегчает создание и поддержку приложения. Это также дает возможность повторно использовать функциональность кода и быстрое время реализации.
При создании класса, вместо того, чтобы писать совершенно новые члены-данные и функции-члены, программист может указать, что новый класс должен наследовать члены существующего класса. Этот существующий класс называется базовым классом, а новый класс называется производным классом.
Базовые и производные классы
Класс может быть производным от нескольких классов или интерфейсов, что означает, что он может наследовать данные и функции от нескольких базовых классов или интерфейсов.
Синтаксис, используемый в VB.Net для создания производных классов, выглядит следующим образом:
<access-specifier> Class <base_class> ... End Class Class <derived_class>: Inherits <base_class> ... End Class
Рассмотрим базовый класс Shape и его производный класс Rectangle —
' Base class Class Shape Protected width As Integer Protected height As Integer Public Sub setWidth(ByVal w As Integer) width = w End Sub Public Sub setHeight(ByVal h As Integer) height = h End Sub End Class ' Derived class Class Rectangle : Inherits Shape Public Function getArea() As Integer Return (width * height) End Function End Class Class RectangleTester Shared Sub Main() Dim rect As Rectangle = New Rectangle() rect.setWidth(5) rect.setHeight(7) ' Print the area of the object. Console.WriteLine("Total area: {0}", rect.getArea()) Console.ReadKey() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Total area: 35
Инициализация базового класса
Производный класс наследует переменные-члены базового класса и методы-члены. Следовательно, объект суперкласса должен быть создан до создания подкласса. Суперкласс или базовый класс неявно известен как MyBase в VB.Net
Следующая программа демонстрирует это —
' Base class Class Rectangle Protected width As Double Protected length As Double Public Sub New(ByVal l As Double, ByVal w As Double) length = l width = w End Sub Public Function GetArea() As Double Return (width * length) End Function Public Overridable Sub Display() Console.WriteLine("Length: {0}", length) Console.WriteLine("Width: {0}", width) Console.WriteLine("Area: {0}", GetArea()) End Sub 'end class Rectangle End Class 'Derived class Class Tabletop : Inherits Rectangle Private cost As Double Public Sub New(ByVal l As Double, ByVal w As Double) MyBase.New(l, w) End Sub Public Function GetCost() As Double Dim cost As Double cost = GetArea() * 70 Return cost End Function Public Overrides Sub Display() MyBase.Display() Console.WriteLine("Cost: {0}", GetCost()) End Sub 'end class Tabletop End Class Class RectangleTester Shared Sub Main() Dim t As Tabletop = New Tabletop(4.5, 7.5) t.Display() Console.ReadKey() End Sub End Class
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Length: 4.5 Width: 7.5 Area: 33.75 Cost: 2362.5
VB.Net поддерживает множественное наследование.
VB.Net — Обработка исключений
Исключением является проблема, возникающая при выполнении программы. Исключением является ответ на исключительное обстоятельство, которое возникает во время работы программы, например, попытка деления на ноль.
Исключения предоставляют способ передачи управления из одной части программы в другую. Обработка исключений в VB.Net основана на четырех ключевых словах — Try , Catch , Наконец и Throw .
-
Try — блок Try определяет блок кода, для которого будут активированы определенные исключения. За ним следует один или несколько блоков Catch.
-
Поймать — программа ловит исключение с помощью обработчика исключений в том месте программы, где вы хотите решить проблему. Ключевое слово Catch указывает на перехват исключения.
-
Наконец, — блок «Последний» используется для выполнения заданного набора операторов независимо от того, было ли выброшено исключение или нет. Например, если вы открываете файл, он должен быть закрыт независимо от того, возбуждено ли исключение или нет.
-
Бросок — программа выдает исключение при обнаружении проблемы. Это делается с помощью ключевого слова Throw.
Try — блок Try определяет блок кода, для которого будут активированы определенные исключения. За ним следует один или несколько блоков Catch.
Поймать — программа ловит исключение с помощью обработчика исключений в том месте программы, где вы хотите решить проблему. Ключевое слово Catch указывает на перехват исключения.
Наконец, — блок «Последний» используется для выполнения заданного набора операторов независимо от того, было ли выброшено исключение или нет. Например, если вы открываете файл, он должен быть закрыт независимо от того, возбуждено ли исключение или нет.
Бросок — программа выдает исключение при обнаружении проблемы. Это делается с помощью ключевого слова Throw.
Синтаксис
Предполагая, что блок вызовет исключение, метод перехватывает исключение, используя комбинацию ключевых слов Try и Catch. Блок Try / Catch размещается вокруг кода, который может генерировать исключение. Код в блоке Try / Catch называется защищенным кодом, и синтаксис использования Try / Catch выглядит следующим образом:
Try [ tryStatements ] [ Exit Try ] [ Catch [ exception [ As type ] ] [ When expression ] [ catchStatements ] [ Exit Try ] ] [ Catch ... ] [ Finally [ finallyStatements ] ] End Try
Вы можете перечислить несколько операторов catch для перехвата различных типов исключений в случае, если ваш блок try вызывает более одного исключения в разных ситуациях.
Классы исключений в .Net Framework
В .Net Framework исключения представлены классами. Классы исключений в .Net Framework в основном прямо или косвенно являются производными от класса System.Exception . Некоторыми из классов исключений, полученных из класса System.Exception, являются классы System.ApplicationException и System.SystemException .
Класс System.ApplicationException поддерживает исключения, генерируемые прикладными программами. Таким образом, исключения, определенные программистами, должны быть производными от этого класса.
Класс System.SystemException является базовым классом для всех предопределенных системных исключений.
В следующей таблице представлены некоторые предопределенные классы исключений, полученные из класса Sytem.SystemException.
Исключительный класс | Описание |
---|---|
System.IO.IOException | Обрабатывает ошибки ввода / вывода. |
System.IndexOutOfRangeException | Обрабатывает ошибки, сгенерированные, когда метод ссылается на индекс массива вне диапазона. |
System.ArrayTypeMismatchException | Обрабатывает ошибки, возникающие, когда тип не соответствует типу массива. |
System.NullReferenceException | Обрабатывает ошибки, сгенерированные в результате определения нулевого объекта. |
System.DivideByZeroException | Обрабатывает ошибки, возникающие при делении дивиденда на ноль. |
System.InvalidCastException | Обрабатывает ошибки, сгенерированные во время приведения типов. |
System.OutOfMemoryException | Обрабатывает ошибки, возникающие из-за недостатка свободной памяти. |
System.StackOverflowException | Обрабатывает ошибки, вызванные переполнением стека. |
Обработка исключений
VB.Net предоставляет структурированное решение проблем обработки исключений в виде блоков try и catch. Используя эти блоки, основные программные операторы отделены от операторов обработки ошибок.
Эти блоки обработки ошибок реализованы с использованием ключевых слов Try , Catch и finally. Ниже приведен пример создания исключения при делении на ноль:
Module exceptionProg Sub division(ByVal num1 As Integer, ByVal num2 As Integer) Dim result As Integer Try result = num1 \ num2 Catch e As DivideByZeroException Console.WriteLine("Exception caught: {0}", e) Finally Console.WriteLine("Result: {0}", result) End Try End Sub Sub Main() division(25, 0) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Exception caught: System.DivideByZeroException: Attempted to divide by zero. at ... Result: 0
Создание пользовательских исключений
Вы также можете определить свое собственное исключение. Определяемые пользователем классы исключений являются производными от класса ApplicationException . Следующий пример демонстрирует это —
Module exceptionProg Public Class TempIsZeroException : Inherits ApplicationException Public Sub New(ByVal message As String) MyBase.New(message) End Sub End Class Public Class Temperature Dim temperature As Integer = 0 Sub showTemp() If (temperature = 0) Then Throw (New TempIsZeroException("Zero Temperature found")) Else Console.WriteLine("Temperature: {0}", temperature) End If End Sub End Class Sub Main() Dim temp As Temperature = New Temperature() Try temp.showTemp() Catch e As TempIsZeroException Console.WriteLine("TempIsZeroException: {0}", e.Message) End Try Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
TempIsZeroException: Zero Temperature found
Бросать предметы
Вы можете выбросить объект, если он прямо или косвенно является производным от класса System.Exception.
Вы можете использовать оператор throw в блоке catch, чтобы выбросить текущий объект как —
Throw [ expression ]
Следующая программа демонстрирует это —
Module exceptionProg Sub Main() Try Throw New ApplicationException("A custom exception _ is being thrown here...") Catch e As Exception Console.WriteLine(e.Message) Finally Console.WriteLine("Now inside the Finally Block") End Try Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
A custom exception is being thrown here... Now inside the Finally Block
VB.Net — Обработка файлов
Файл — это набор данных, хранящихся на диске с определенным именем и путем к каталогу. Когда файл открывается для чтения или записи, он становится потоком .
Поток в основном представляет собой последовательность байтов, проходящих через канал связи. Существует два основных потока: входной поток и выходной поток . Входной поток используется для чтения данных из файла (операция чтения), а выходной поток используется для записи в файл (операция записи).
VB.Net Классы ввода / вывода
Пространство имен System.IO имеет различные классы, которые используются для выполнения различных операций с файлами, таких как создание и удаление файлов, чтение или запись в файл, закрытие файла и т. Д.
В следующей таблице показаны некоторые часто используемые неабстрактные классы в пространстве имен System.IO.
Класс ввода / вывода | Описание |
---|---|
BinaryReader | Читает примитивные данные из двоичного потока. |
BinaryWriter | Записывает примитивные данные в двоичном формате. |
BufferedStream | Временное хранилище для потока байтов. |
каталог | Помогает в управлении структурой каталогов. |
DirectoryInfo | Используется для выполнения операций над каталогами. |
DriveInfo | Предоставляет информацию для дисков. |
файл | Помогает в манипулировании файлами. |
FileInfo | Используется для выполнения операций над файлами. |
FileStream | Используется для чтения и записи в любом месте файла. |
MemoryStream | Используется для произвольного доступа потоковых данных, хранящихся в памяти. |
Дорожка | Выполняет операции с информацией о пути. |
StreamReader | Используется для чтения символов из потока байтов. |
StreamWriter | Используется для записи символов в поток. |
StringReader | Используется для чтения из строкового буфера. |
StringWriter | Используется для записи в строковый буфер. |
Класс FileStream
Класс FileStream в пространстве имен System.IO помогает в чтении, записи и закрытии файлов. Этот класс является производным от абстрактного класса Stream.
Вам необходимо создать объект FileStream, чтобы создать новый файл или открыть существующий файл. Синтаксис для создания объекта FileStream следующий:
Dim <object_name> As FileStream = New FileStream(<file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>)
Например, для создания объекта FileStream F для чтения файла с именем sample.txt —
Dim f1 As FileStream = New FileStream("sample.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite)
параметр | Описание |
---|---|
FileMode |
Перечислитель FileMode определяет различные способы открытия файлов. Членами перечислителя FileMode являются:
|
FileAccess |
Перечислители FileAccess имеют следующие члены: Read , ReadWrite и Write . |
Обменник |
Перечислители FileShare имеют следующих членов —
|
Перечислитель FileMode определяет различные способы открытия файлов. Членами перечислителя FileMode являются:
Добавить — открывает существующий файл и помещает курсор в конец файла, либо создает файл, если файл не существует.
Создать — создает новый файл.
CreateNew — указывает операционной системе, что он должен создать новый файл.
Открыть — открывает существующий файл.
OpenOrCreate — Он указывает операционной системе, что он должен открыть файл, если он существует, в противном случае он должен создать новый файл.
Обрезать — открывает существующий файл и усекает его размер до нуля байтов.
Перечислители FileAccess имеют следующие члены: Read , ReadWrite и Write .
Перечислители FileShare имеют следующих членов —
Inheritable — позволяет дескриптору файла передавать наследование дочерним процессам.
Нет — отказывается от обмена текущим файлом
Читать — позволяет открыть файл для чтения.
ReadWrite — позволяет открыть файл для чтения и записи.
Запись — позволяет открыть файл для записи
пример
Следующая программа демонстрирует использование класса FileStream —
Imports System.IO Module fileProg Sub Main() Dim f1 As FileStream = New FileStream("sample.txt", _ FileMode.OpenOrCreate, FileAccess.ReadWrite) Dim i As Integer For i = 0 To 20 f1.WriteByte(CByte(i)) Next i f1.Position = 0 For i = 0 To 20 Console.Write("{0} ", f1.ReadByte()) Next i f1.Close() Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Расширенные операции с файлами в VB.Net
В предыдущем примере представлены простые файловые операции в VB.Net. Однако, чтобы использовать огромные возможности классов System.IO, вам необходимо знать обычно используемые свойства и методы этих классов.
Мы обсудим эти классы и операции, которые они выполняют в следующих разделах. Пожалуйста, нажмите на предоставленные ссылки, чтобы перейти к отдельным разделам —
Sr.No. | Тема и описание |
---|---|
1 |
Чтение и запись в текстовые файлы Это включает чтение и запись в текстовые файлы. Классы StreamReader и StreamWriter помогают достичь этого. |
2 |
Чтение и запись в двоичные файлы Это включает чтение и запись в двоичные файлы. Классы BinaryReader и BinaryWriter помогают достичь этого. |
3 |
Управление файловой системой Windows Это дает программисту VB.Net возможность просматривать и находить файлы и каталоги Windows. |
Чтение и запись в текстовые файлы
Это включает чтение и запись в текстовые файлы. Классы StreamReader и StreamWriter помогают достичь этого.
Чтение и запись в двоичные файлы
Это включает чтение и запись в двоичные файлы. Классы BinaryReader и BinaryWriter помогают достичь этого.
Управление файловой системой Windows
Это дает программисту VB.Net возможность просматривать и находить файлы и каталоги Windows.
VB.Net — Основные элементы управления
Объект — это тип элемента пользовательского интерфейса, который вы создаете в форме Visual Basic с помощью элемента управления панели инструментов. На самом деле, в Visual Basic форма сама по себе является объектом. Каждый элемент управления Visual Basic состоит из трех важных элементов:
-
Свойства, которые описывают объект,
-
Методы заставляют объект что-то делать и
-
События — это то, что происходит, когда объект что-то делает.
Свойства, которые описывают объект,
Методы заставляют объект что-то делать и
События — это то, что происходит, когда объект что-то делает.
Управляющие свойства
Все объекты Visual Basic можно перемещать, изменять размер или настраивать, задавая их свойства. Свойство — это значение или характеристика, хранящаяся в объекте Visual Basic, например в заголовке или цвете переднего плана.
Свойства могут быть установлены во время разработки с помощью окна Свойства или во время выполнения с помощью операторов в программном коде.
Object. Property = Value
куда
-
Объект — это имя объекта, который вы настраиваете.
-
Свойство — это характеристика, которую вы хотите изменить.
-
Значение — это новый параметр свойства.
Объект — это имя объекта, который вы настраиваете.
Свойство — это характеристика, которую вы хотите изменить.
Значение — это новый параметр свойства.
Например,
Form1.Caption = "Hello"
Вы можете установить любое из свойств формы с помощью окна свойств. Большинство свойств можно установить или прочитать во время выполнения приложения. Вы можете обратиться к документации Microsoft для получения полного списка свойств, связанных с различными элементами управления и применяемыми к ним ограничениями.
Методы контроля
Метод — это процедура, созданная как член класса, и она заставляет объект что-то делать. Методы используются для доступа или управления характеристиками объекта или переменной. Есть в основном две категории методов, которые вы будете использовать в своих классах —
-
Если вы используете элемент управления, такой как один из тех, которые предоставляются Toolbox, вы можете вызвать любой из его открытых методов. Требования такого метода зависят от используемого класса.
-
Если ни один из существующих методов не может выполнить желаемую задачу, вы можете добавить метод в класс.
Если вы используете элемент управления, такой как один из тех, которые предоставляются Toolbox, вы можете вызвать любой из его открытых методов. Требования такого метода зависят от используемого класса.
Если ни один из существующих методов не может выполнить желаемую задачу, вы можете добавить метод в класс.
Например, элемент управления MessageBox имеет метод с именем Show, который вызывается во фрагменте кода ниже —
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("Hello, World") End Sub End Class
Контрольные события
Событие — это сигнал, который информирует приложение о том, что произошло что-то важное. Например, когда пользователь щелкает элемент управления в форме, форма может вызвать событие Click и вызвать процедуру, которая обрабатывает это событие. Существуют различные типы событий, связанных с формой, такие как щелчок, двойной щелчок, закрытие, загрузка, изменение размера и т. Д.
Ниже приведена структура по умолчанию для подпрограммы обработчика события Load . Вы можете увидеть этот код, дважды щелкнув код, который даст вам полный список всех событий, связанных с элементом управления формы —
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'event handler code goes here End Sub
Здесь Handles MyBase.Load указывает, что подпрограмма Form1_Load () обрабатывает событие Load . Аналогичным образом, вы можете проверить код заглушки для щелчка, дважды щелкните. Если вы хотите инициализировать некоторые переменные, такие как свойства и т. Д., То вы будете хранить такой код в подпрограмме Form1_Load (). Здесь важно отметить имя обработчика событий, которое по умолчанию является Form1_Load, но вы можете изменить это имя в соответствии с соглашением об именах, которое вы используете при разработке приложения.
Основные элементы управления
VB.Net предоставляет огромное разнообразие элементов управления, которые помогут вам создать богатый пользовательский интерфейс. Функциональные возможности всех этих элементов управления определены в соответствующих классах элементов управления. Классы управления определены в пространстве имен System.Windows.Forms .
В следующей таблице перечислены некоторые из наиболее часто используемых элементов управления.
Sr.No. | Виджет и описание |
---|---|
1 |
Контейнер для всех элементов управления, которые составляют пользовательский интерфейс. |
2 |
Он представляет собой элемент управления текстового поля Windows. |
3 |
Он представляет собой стандартную метку Windows. |
4 |
Он представляет собой кнопку управления Windows. |
5 |
Он представляет собой элемент управления Windows для отображения списка элементов. |
6 |
Он представляет собой комбинированный элемент управления Windows. |
7 |
Это позволяет пользователю выбрать один вариант из группы вариантов, когда он связан с другими элементами управления RadioButton. |
8 |
Он представляет собой Windows CheckBox. |
9 |
Он представляет собой элемент управления Windows Picture Box для отображения изображения. |
10 |
Он представляет собой индикатор хода выполнения Windows. |
11 |
Он реализует основные функции элемента управления полосы прокрутки. |
12 |
Он представляет собой элемент управления Windows, который позволяет пользователю выбирать дату и время и отображать дату и время в указанном формате. |
13 |
Он отображает иерархическую коллекцию помеченных элементов, каждый из которых представлен TreeNode. |
14 |
Он представляет собой элемент управления представлением списка Windows, который отображает коллекцию элементов, которые могут отображаться с использованием одного из четырех различных представлений. |
Контейнер для всех элементов управления, которые составляют пользовательский интерфейс.
Он представляет собой элемент управления текстового поля Windows.
Он представляет собой стандартную метку Windows.
Он представляет собой кнопку управления Windows.
Он представляет собой элемент управления Windows для отображения списка элементов.
Он представляет собой комбинированный элемент управления Windows.
Это позволяет пользователю выбрать один вариант из группы вариантов, когда он связан с другими элементами управления RadioButton.
Он представляет собой Windows CheckBox.
Он представляет собой элемент управления Windows Picture Box для отображения изображения.
Он представляет собой индикатор хода выполнения Windows.
Он реализует основные функции элемента управления полосы прокрутки.
Он представляет собой элемент управления Windows, который позволяет пользователю выбирать дату и время и отображать дату и время в указанном формате.
Он отображает иерархическую коллекцию помеченных элементов, каждый из которых представлен TreeNode.
Он представляет собой элемент управления представлением списка Windows, который отображает коллекцию элементов, которые могут отображаться с использованием одного из четырех различных представлений.
VB.Net — Диалоговые окна
Существует много встроенных диалоговых окон, которые можно использовать в формах Windows для различных задач, таких как открытие и сохранение файлов, печать страницы, предоставление выбора цветов, шрифтов, настройки страницы и т. Д. Пользователю приложения. Эти встроенные диалоговые окна сокращают время и нагрузку разработчика.
Все эти классы элементов управления диалогового окна наследуются от класса CommonDialog и переопределяют функцию RunDialog () базового класса, чтобы создать конкретное диалоговое окно.
Функция RunDialog () автоматически вызывается, когда пользователь диалогового окна вызывает свою функцию ShowDialog () .
Метод ShowDialog используется для отображения всех элементов управления диалогового окна во время выполнения. Возвращает значение типа перечисления DialogResult . Значения перечисления DialogResult —
-
Abort — возвращает значение DialogResult.Abort, когда пользователь нажимает кнопку Abort.
-
Отмена — возвращает DialogResult.Cancel, когда пользователь нажимает кнопку «Отмена».
-
Игнорировать — возвращает DialogResult. Игнорировать , когда пользователь нажимает кнопку Игнорировать.
-
Нет — возвращает DialogResult.No, когда пользователь нажимает кнопку Нет.
-
None — ничего не возвращает и диалоговое окно продолжает работать.
-
OK — возвращает DialogResult.OK, когда пользователь нажимает кнопку ОК
-
Retry — возвращает DialogResult.Retry, когда пользователь нажимает кнопку «Retry».
-
Да — возвращает DialogResult. Да , когда пользователь нажимает кнопку Да
Abort — возвращает значение DialogResult.Abort, когда пользователь нажимает кнопку Abort.
Отмена — возвращает DialogResult.Cancel, когда пользователь нажимает кнопку «Отмена».
Игнорировать — возвращает DialogResult. Игнорировать , когда пользователь нажимает кнопку Игнорировать.
Нет — возвращает DialogResult.No, когда пользователь нажимает кнопку Нет.
None — ничего не возвращает и диалоговое окно продолжает работать.
OK — возвращает DialogResult.OK, когда пользователь нажимает кнопку ОК
Retry — возвращает DialogResult.Retry, когда пользователь нажимает кнопку «Retry».
Да — возвращает DialogResult. Да , когда пользователь нажимает кнопку Да
На следующей диаграмме показано наследование общего диалогового класса —
Все эти вышеупомянутые классы имеют соответствующие элементы управления, которые могут быть добавлены из панели инструментов во время разработки. Вы можете включить соответствующие функции этих классов в свое приложение, создавая экземпляр класса программно или используя соответствующие элементы управления.
Если дважды щелкнуть любой из элементов управления диалогового окна на панели инструментов или перетащить элемент управления на форму, он появится в области «Компоненты» в нижней части дизайнера Windows Forms, они не отображаются непосредственно в форме.
В следующей таблице перечислены наиболее часто используемые элементы управления диалогового окна. Нажмите на следующие ссылки, чтобы проверить их детали —
Sr.No. | Контроль и описание |
---|---|
1 |
Он представляет собой общее диалоговое окно, в котором отображаются доступные цвета вместе с элементами управления, которые позволяют пользователю определять пользовательские цвета. |
2 |
Он предлагает пользователю выбрать шрифт из числа установленных на локальном компьютере и позволяет пользователю выбрать шрифт, размер шрифта и цвет. |
3 |
Он предлагает пользователю открыть файл и позволяет пользователю выбрать файл для открытия. |
4 |
Он предлагает пользователю выбрать место для сохранения файла и позволяет пользователю указать имя файла для сохранения данных. |
5 |
Это позволяет пользователю печатать документы, выбирая принтер и выбирая, какие разделы документа будут печатать из приложения Windows Forms. |
Он представляет собой общее диалоговое окно, в котором отображаются доступные цвета вместе с элементами управления, которые позволяют пользователю определять пользовательские цвета.
Он предлагает пользователю выбрать шрифт из числа установленных на локальном компьютере и позволяет пользователю выбрать шрифт, размер шрифта и цвет.
Он предлагает пользователю открыть файл и позволяет пользователю выбрать файл для открытия.
Он предлагает пользователю выбрать место для сохранения файла и позволяет пользователю указать имя файла для сохранения данных.
Это позволяет пользователю печатать документы, выбирая принтер и выбирая, какие разделы документа будут печатать из приложения Windows Forms.
VB.Net — Расширенная форма
В этой главе давайте изучим следующие понятия —
-
Добавление меню и подменю в приложении
-
Добавление функций вырезания, копирования и вставки в форму
-
Привязка и закрепление элементов управления в форме
-
Модальные формы
Добавление меню и подменю в приложении
Добавление функций вырезания, копирования и вставки в форму
Привязка и закрепление элементов управления в форме
Модальные формы
Добавление меню и подменю в приложении
Традиционно классы Menu , MainMenu , ContextMenu и MenuItem использовались для добавления меню, подменю и контекстных меню в приложении Windows.
Теперь элементы управления MenuStrip , ToolStripMenuItem , ToolStripDropDown и ToolStripDropDownMenu заменяют и добавляют функциональность к элементам управления предыдущих версий, связанным с Menu. Однако старые классы управления сохраняются как для обратной совместимости, так и для будущего использования.
Давайте сначала создадим типичную панель главного меню Windows и подменю, используя старые элементы управления версией, поскольку эти элементы все еще широко используются в старых приложениях.
Ниже приведен пример, который показывает, как мы создаем строку меню с элементами меню: Файл, Правка, Вид и Проект. В меню «Файл» есть подменю «Создать», «Открыть» и «Сохранить».
Давайте дважды щелкнем по форме и поместим следующий код в открывшемся окне.
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'defining the main menu bar Dim mnuBar As New MainMenu() 'defining the menu items for the main menu bar Dim myMenuItemFile As New MenuItem("&File") Dim myMenuItemEdit As New MenuItem("&Edit") Dim myMenuItemView As New MenuItem("&View") Dim myMenuItemProject As New MenuItem("&Project") 'adding the menu items to the main menu bar mnuBar.MenuItems.Add(myMenuItemFile) mnuBar.MenuItems.Add(myMenuItemEdit) mnuBar.MenuItems.Add(myMenuItemView) mnuBar.MenuItems.Add(myMenuItemProject) ' defining some sub menus Dim myMenuItemNew As New MenuItem("&New") Dim myMenuItemOpen As New MenuItem("&Open") Dim myMenuItemSave As New MenuItem("&Save") 'add sub menus to the File menu myMenuItemFile.MenuItems.Add(myMenuItemNew) myMenuItemFile.MenuItems.Add(myMenuItemOpen) myMenuItemFile.MenuItems.Add(myMenuItemSave) 'add the main menu to the form Me.Menu = mnuBar ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub End Class
Когда приведенный выше код будет выполнен и запущен с использованием кнопки «Пуск», доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
Формы Windows содержат богатый набор классов для создания собственных пользовательских меню с современным внешним видом, внешним видом и интерфейсом. Элементы управления MenuStrip , ToolStripMenuItem , ContextMenuStrip используются для эффективного создания строк меню и контекстных меню.
Нажмите на следующие ссылки, чтобы проверить их детали —
Sr.No. | Контроль и описание |
---|---|
1 |
Это обеспечивает систему меню для формы. |
2 |
Он представляет собой выбираемый параметр, отображаемый в MenuStrip или ContextMenuStrip . Элемент управления ToolStripMenuItem заменяет и добавляет функциональные возможности к элементу управления MenuItem предыдущих версий. |
3 |
Это представляет контекстное меню. |
Это обеспечивает систему меню для формы.
Он представляет собой выбираемый параметр, отображаемый в MenuStrip или ContextMenuStrip . Элемент управления ToolStripMenuItem заменяет и добавляет функциональные возможности к элементу управления MenuItem предыдущих версий.
Это представляет контекстное меню.
Добавление функций вырезания, копирования и вставки в форму
Методы, предоставляемые классом ClipBoard , используются для добавления функций вырезания, копирования и вставки в приложении. Класс ClipBoard предоставляет методы для размещения данных и извлечения данных из системного буфера обмена.
Он имеет следующие обычно используемые методы —
Sr.No. | Название и описание метода |
---|---|
1 |
Очистить Удаляет все данные из буфера обмена. |
2 |
ContainsData Указывает, есть ли в буфере обмена данные в указанном формате или их можно преобразовать в этот формат. |
3 |
ContainsImage Указывает, есть ли в буфере обмена данные в растровом формате или их можно преобразовать в этот формат. |
4 |
ContainsText Указывает, есть ли данные в буфере обмена в формате Text или UnicodeText, в зависимости от операционной системы. |
5 |
Получить данные Извлекает данные из буфера обмена в указанном формате. |
6 |
GetDataObject Извлекает данные, которые в данный момент находятся в системном буфере обмена. |
7 |
GetImage Получает изображение из буфера обмена. |
8 |
GetText Извлекает текстовые данные из буфера обмена в формате Text или UnicodeText, в зависимости от операционной системы. |
9 |
GetText (TextDataFormat) Извлекает текстовые данные из буфера обмена в формате, указанном указанным значением TextDataFormat. |
10 |
SetData Очищает буфер обмена, а затем добавляет данные в указанном формате. |
11 |
SetText (String) Очищает буфер обмена, а затем добавляет текстовые данные в формате Text или UnicodeText, в зависимости от операционной системы. |
Очистить
Удаляет все данные из буфера обмена.
ContainsData
Указывает, есть ли в буфере обмена данные в указанном формате или их можно преобразовать в этот формат.
ContainsImage
Указывает, есть ли в буфере обмена данные в растровом формате или их можно преобразовать в этот формат.
ContainsText
Указывает, есть ли данные в буфере обмена в формате Text или UnicodeText, в зависимости от операционной системы.
Получить данные
Извлекает данные из буфера обмена в указанном формате.
GetDataObject
Извлекает данные, которые в данный момент находятся в системном буфере обмена.
GetImage
Получает изображение из буфера обмена.
GetText
Извлекает текстовые данные из буфера обмена в формате Text или UnicodeText, в зависимости от операционной системы.
GetText (TextDataFormat)
Извлекает текстовые данные из буфера обмена в формате, указанном указанным значением TextDataFormat.
SetData
Очищает буфер обмена, а затем добавляет данные в указанном формате.
SetText (String)
Очищает буфер обмена, а затем добавляет текстовые данные в формате Text или UnicodeText, в зависимости от операционной системы.
Ниже приведен пример, который показывает, как мы вырезаем, копируем и вставляем данные, используя методы класса Clipboard. Сделайте следующие шаги —
-
Добавьте в форму элемент управления с расширенным текстовым полем и три кнопки.
-
Измените свойство текста кнопок на «Вырезать», «Копировать» и «Вставить» соответственно.
-
Дважды щелкните на кнопках, чтобы добавить следующий код в редактор кода —
Добавьте в форму элемент управления с расширенным текстовым полем и три кнопки.
Измените свойство текста кнопок на «Вырезать», «Копировать» и «Вставить» соответственно.
Дважды щелкните на кнопках, чтобы добавить следующий код в редактор кода —
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) _ Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) _ Handles Button1.Click Clipboard.SetDataObject(RichTextBox1.SelectedText) RichTextBox1.SelectedText = "" End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) _ Handles Button2.Click Clipboard.SetDataObject(RichTextBox1.SelectedText) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) _ Handles Button3.Click Dim iData As IDataObject iData = Clipboard.GetDataObject() If (iData.GetDataPresent(DataFormats.Text)) Then RichTextBox1.SelectedText = iData.GetData(DataFormats.Text) Else RichTextBox1.SelectedText = " " End If End Sub End Class
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
Введите текст и проверьте, как работают кнопки.
Привязка и закрепление элементов управления в форме
Привязка позволяет вам установить позицию привязки элемента управления к границам его элемента управления контейнера, например формы. Свойство Anchor класса Control позволяет вам устанавливать значения этого свойства. Свойство Anchor получает или задает ребра контейнера, к которому привязан элемент управления, и определяет, как изменяется размер элемента управления с его родителем.
Когда вы привязываете элемент управления к форме, он сохраняет свое расстояние от краев формы и свое закрепленное положение при изменении размера формы.
Вы можете установить значения свойств Anchor элемента управления из окна Properties —
Например, давайте добавим элемент управления Button на форму и установим для его свойства привязки значение Bottom, Right. Запустите эту форму, чтобы увидеть исходное положение элемента управления Button по отношению к форме.
Теперь, когда вы растягиваете форму, расстояние между кнопкой и правым нижним углом формы остается неизменным.
Стыковка элемента управления означает стыковку его с одним из краев контейнера. При стыковке элемент управления полностью заполняет определенную область контейнера.
Свойство Dock класса Control делает это. Свойство Dock получает или устанавливает границы элемента управления, прикрепленные к его родительскому элементу управления, и определяет, как изменяется размер элемента управления с его родительским элементом управления.
Вы можете установить значения свойств Dock элемента управления из окна Properties —
Например, давайте добавим элемент управления Button на форму и установим для его свойства Dock значение Bottom. Запустите эту форму, чтобы увидеть исходное положение элемента управления Button по отношению к форме.
Теперь, когда вы растягиваете форму, кнопка изменяет размер с формой.
Модальные Формы
Модальные формы — это те формы, которые необходимо закрыть или скрыть, прежде чем вы сможете продолжить работу с остальной частью приложения. Все диалоговые окна являются модальными формами. MessageBox также является модальной формой.
Вы можете вызвать модальную форму двумя способами —
-
Вызов метода ShowDialog
-
Вызов метода Show
Вызов метода ShowDialog
Вызов метода Show
Давайте рассмотрим пример, в котором мы создадим модальную форму, диалоговое окно. Сделайте следующие шаги —
-
Добавьте форму Form1 в ваше приложение и добавьте две метки и элемент управления кнопки в форму Form1.
-
Измените свойства текста первой метки и кнопки на «Welcome to Tutorials Point» и «Enter your Name» соответственно. Оставьте текстовые свойства второй метки пустыми.
-
Добавьте новую форму Windows Form2 и добавьте две кнопки, одну метку и текстовое поле в форму Form2.
-
Измените свойства текста кнопок на OK и Отмена соответственно. Измените свойства текста надписи на «Введите ваше имя:».
-
Установите для свойства FormBorderStyle Form2 значение FixedDialog для придания ему границы диалогового окна.
-
Установите для свойства ControlBox Form2 значение False.
-
Установите для свойства ShowInTaskbar Form2 значение False.
-
Установите для свойства DialogResult кнопки «ОК» значение «ОК», а для кнопки «Отмена» — значение «Отмена».
Добавьте форму Form1 в ваше приложение и добавьте две метки и элемент управления кнопки в форму Form1.
Измените свойства текста первой метки и кнопки на «Welcome to Tutorials Point» и «Enter your Name» соответственно. Оставьте текстовые свойства второй метки пустыми.
Добавьте новую форму Windows Form2 и добавьте две кнопки, одну метку и текстовое поле в форму Form2.
Измените свойства текста кнопок на OK и Отмена соответственно. Измените свойства текста надписи на «Введите ваше имя:».
Установите для свойства FormBorderStyle Form2 значение FixedDialog для придания ему границы диалогового окна.
Установите для свойства ControlBox Form2 значение False.
Установите для свойства ShowInTaskbar Form2 значение False.
Установите для свойства DialogResult кнопки «ОК» значение «ОК», а для кнопки «Отмена» — значение «Отмена».
Добавьте следующие фрагменты кода в метод Form2_Load Form2 —
Private Sub Form2_Load(sender As Object, e As EventArgs) _ Handles MyBase.Load AcceptButton = Button1 CancelButton = Button2 End Sub
Добавьте следующие фрагменты кода в метод Button1_Click формы Form1 —
Private Sub Button1_Click(sender As Object, e As EventArgs) _ Handles Button1.Click Dim frmSecond As Form2 = New Form2() If frmSecond.ShowDialog() = DialogResult.OK Then Label2.Text = frmSecond.TextBox1.Text End If End Sub
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
При нажатии на кнопку «Введите ваше имя» отображается вторая форма —
Нажатие на кнопку ОК возвращает управление и информацию из модальной формы в предыдущую форму —
VB.Net — Обработка событий
События в основном представляют собой действия пользователя, такие как нажатие клавиш, щелчки, движения мыши и т. Д., Или некоторые события, такие как системные уведомления. Приложения должны реагировать на события, когда они происходят.
Нажатие на кнопку, или ввод текста в текстовое поле, или нажатие на элемент меню — все это примеры событий. Событие — это действие, которое вызывает функцию или может вызвать другое событие. Обработчики событий — это функции, которые сообщают, как реагировать на событие.
VB.Net — это язык событий. Есть в основном два типа событий —
-
События мыши
-
События клавиатуры
События мыши
События клавиатуры
Обработка событий мыши
События мыши происходят с движениями мыши в формах и элементах управления. Ниже приведены различные события мыши, связанные с классом Control —
-
MouseDown — происходит при нажатии кнопки мыши
-
MouseEnter — происходит, когда указатель мыши входит в элемент управления
-
MouseHover — происходит, когда указатель мыши находится над элементом управления
-
MouseLeave — происходит, когда указатель мыши покидает элемент управления
-
MouseMove — происходит, когда указатель мыши перемещается над элементом управления
-
MouseUp — происходит, когда указатель мыши находится над элементом управления и кнопка мыши отпущена.
-
MouseWheel — происходит, когда колесо мыши перемещается и элемент управления имеет фокус
MouseDown — происходит при нажатии кнопки мыши
MouseEnter — происходит, когда указатель мыши входит в элемент управления
MouseHover — происходит, когда указатель мыши находится над элементом управления
MouseLeave — происходит, когда указатель мыши покидает элемент управления
MouseMove — происходит, когда указатель мыши перемещается над элементом управления
MouseUp — происходит, когда указатель мыши находится над элементом управления и кнопка мыши отпущена.
MouseWheel — происходит, когда колесо мыши перемещается и элемент управления имеет фокус
Обработчики событий событий мыши получают аргумент типа MouseEventArgs . Объект MouseEventArgs используется для обработки событий мыши. Он имеет следующие свойства —
-
Кнопки — указывает на нажатие кнопки мыши
-
Клики — указывает количество кликов
-
Дельта — указывает количество стопоров, которые поворачивало колесо мыши
-
X — указывает x-координату щелчка мышью
-
Y — указывает y-координату щелчка мышью
Кнопки — указывает на нажатие кнопки мыши
Клики — указывает количество кликов
Дельта — указывает количество стопоров, которые поворачивало колесо мыши
X — указывает x-координату щелчка мышью
Y — указывает y-координату щелчка мышью
пример
Ниже приведен пример, который показывает, как обрабатывать события мыши. Сделайте следующие шаги —
-
Добавьте три метки, три текстовых поля и кнопку управления в форме.
-
Измените свойства текста меток на — Идентификатор клиента, Имя и Адрес соответственно.
-
Измените свойства имени текстовых полей на txtID, txtName и txtAddress, соответственно.
-
Измените текстовое свойство кнопки на «Отправить».
-
Добавьте следующий код в окне редактора кода —
Добавьте три метки, три текстовых поля и кнопку управления в форме.
Измените свойства текста меток на — Идентификатор клиента, Имя и Адрес соответственно.
Измените свойства имени текстовых полей на txtID, txtName и txtAddress, соответственно.
Измените текстовое свойство кнопки на «Отправить».
Добавьте следующий код в окне редактора кода —
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspont.com" End Sub Private Sub txtID_MouseEnter(sender As Object, e As EventArgs)_ Handles txtID.MouseEnter 'code for handling mouse enter on ID textbox txtID.BackColor = Color.CornflowerBlue txtID.ForeColor = Color.White End Sub Private Sub txtID_MouseLeave(sender As Object, e As EventArgs) _ Handles txtID.MouseLeave 'code for handling mouse leave on ID textbox txtID.BackColor = Color.White txtID.ForeColor = Color.Blue End Sub Private Sub txtName_MouseEnter(sender As Object, e As EventArgs) _ Handles txtName.MouseEnter 'code for handling mouse enter on Name textbox txtName.BackColor = Color.CornflowerBlue txtName.ForeColor = Color.White End Sub Private Sub txtName_MouseLeave(sender As Object, e As EventArgs) _ Handles txtName.MouseLeave 'code for handling mouse leave on Name textbox txtName.BackColor = Color.White txtName.ForeColor = Color.Blue End Sub Private Sub txtAddress_MouseEnter(sender As Object, e As EventArgs) _ Handles txtAddress.MouseEnter 'code for handling mouse enter on Address textbox txtAddress.BackColor = Color.CornflowerBlue txtAddress.ForeColor = Color.White End Sub Private Sub txtAddress_MouseLeave(sender As Object, e As EventArgs) _ Handles txtAddress.MouseLeave 'code for handling mouse leave on Address textbox txtAddress.BackColor = Color.White txtAddress.ForeColor = Color.Blue End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) _ Handles Button1.Click MsgBox("Thank you " & txtName.Text & ", for your kind cooperation") End Sub End Class
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
Попробуйте ввести текст в текстовые поля и проверить события мыши —
Обработка событий клавиатуры
Ниже приведены различные события клавиатуры, связанные с классом Control —
-
KeyDown — происходит, когда клавиша нажата и элемент управления имеет фокус
-
KeyPress — происходит, когда клавиша нажата и элемент управления имеет фокус
-
KeyUp — происходит, когда клавиша отпущена, когда элемент управления имеет фокус
KeyDown — происходит, когда клавиша нажата и элемент управления имеет фокус
KeyPress — происходит, когда клавиша нажата и элемент управления имеет фокус
KeyUp — происходит, когда клавиша отпущена, когда элемент управления имеет фокус
Обработчики событий KeyDown и KeyUp получают аргумент типа KeyEventArgs . Этот объект имеет следующие свойства —
-
Alt — указывает, нажата ли клавиша ALT
-
Управление — указывает, нажата ли клавиша CTRL
-
Обработано — указывает, обработано ли событие
-
KeyCode — хранит код клавиатуры для события
-
KeyData — хранит данные клавиатуры для события
-
KeyValue — сохраняет значение клавиатуры для события
-
Модификаторы — указывает, какие клавиши-модификаторы (Ctrl, Shift и / или Alt) были нажаты
-
Shift — указывает, нажата ли клавиша Shift
Alt — указывает, нажата ли клавиша ALT
Управление — указывает, нажата ли клавиша CTRL
Обработано — указывает, обработано ли событие
KeyCode — хранит код клавиатуры для события
KeyData — хранит данные клавиатуры для события
KeyValue — сохраняет значение клавиатуры для события
Модификаторы — указывает, какие клавиши-модификаторы (Ctrl, Shift и / или Alt) были нажаты
Shift — указывает, нажата ли клавиша Shift
Обработчики событий KeyDown и KeyUp получают аргумент типа KeyEventArgs . Этот объект имеет следующие свойства —
-
Обработано — указывает, обрабатывается ли событие KeyPress.
-
KeyChar — сохраняет символ, соответствующий нажатой клавише
Обработано — указывает, обрабатывается ли событие KeyPress.
KeyChar — сохраняет символ, соответствующий нажатой клавише
пример
Давайте продолжим с предыдущим примером, чтобы показать, как обрабатывать события клавиатуры. Код будет проверять, что пользователь вводит некоторые цифры для своего идентификатора клиента и возраста.
-
Добавьте метку с текстом Property как «Age» и добавьте соответствующее текстовое поле с именем txtAge.
-
Добавьте следующие коды для обработки событий KeyUP текстового поля txtID.
Добавьте метку с текстом Property как «Age» и добавьте соответствующее текстовое поле с именем txtAge.
Добавьте следующие коды для обработки событий KeyUP текстового поля txtID.
Private Sub txtID_KeyUP(sender As Object, e As KeyEventArgs) _ Handles txtID.KeyUp If (Not Char.IsNumber(ChrW(e.KeyCode))) Then MessageBox.Show("Enter numbers for your Customer ID") txtID.Text = " " End If End Sub
-
Добавьте следующие коды для обработки событий KeyUP текстового поля txtID.
Добавьте следующие коды для обработки событий KeyUP текстового поля txtID.
Private Sub txtAge_KeyUP(sender As Object, e As KeyEventArgs) _ Handles txtAge.KeyUp If (Not Char.IsNumber(ChrW(e.keyCode))) Then MessageBox.Show("Enter numbers for age") txtAge.Text = " " End If End Sub
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
Если вы оставите текст для возраста или идентификатора пустым или введете нечисловые данные, появится окно с предупреждением и очистится соответствующий текст:
VB.Net — Регулярные выражения
Регулярное выражение — это шаблон, который можно сопоставить с входным текстом. .Net Framework предоставляет механизм регулярных выражений, который позволяет такое сопоставление. Шаблон состоит из одного или нескольких литералов символов, операторов или конструкций.
Конструкции для определения регулярных выражений
Существуют различные категории символов, операторов и конструкций, которые позволяют определять регулярные выражения. Нажмите на следующие ссылки, чтобы найти эти конструкции.
Класс Regex
Класс Regex используется для представления регулярного выражения.
Класс Regex имеет следующие часто используемые методы —
Sr.No. | Методы и описание |
---|---|
1 |
Открытая функция IsMatch (input As String) как логическое значение Указывает, находит ли регулярное выражение, указанное в конструкторе Regex, совпадение в указанной входной строке. |
2 |
Открытая функция IsMatch (ввод как строка, запуск как целое число) как логическое значение Указывает, находит ли регулярное выражение, указанное в конструкторе Regex, совпадение в указанной входной строке, начиная с указанной начальной позиции в строке. |
3 |
Открытая общая функция IsMatch (входная строка как строка, шаблонная строка как строка) как логическое значение Указывает, находит ли указанное регулярное выражение совпадение в указанной входной строке. |
4 |
Открытые совпадения функций (input As String) As MatchCollection Выполняет поиск в указанной входной строке всех вхождений регулярного выражения. |
5 |
Открытая функция Replace (ввод в виде строки, замена в виде строки) в виде строки В указанной входной строке заменяет все строки, которые соответствуют шаблону регулярного выражения, указанной строкой замены. |
6 |
Открытая функция Split (input As String) As String () Разбивает входную строку на массив подстрок в позициях, определенных шаблоном регулярного выражения, указанным в конструкторе Regex. |
Открытая функция IsMatch (input As String) как логическое значение
Указывает, находит ли регулярное выражение, указанное в конструкторе Regex, совпадение в указанной входной строке.
Открытая функция IsMatch (ввод как строка, запуск как целое число) как логическое значение
Указывает, находит ли регулярное выражение, указанное в конструкторе Regex, совпадение в указанной входной строке, начиная с указанной начальной позиции в строке.
Открытая общая функция IsMatch (входная строка как строка, шаблонная строка как строка) как логическое значение
Указывает, находит ли указанное регулярное выражение совпадение в указанной входной строке.
Открытые совпадения функций (input As String) As MatchCollection
Выполняет поиск в указанной входной строке всех вхождений регулярного выражения.
Открытая функция Replace (ввод в виде строки, замена в виде строки) в виде строки
В указанной входной строке заменяет все строки, которые соответствуют шаблону регулярного выражения, указанной строкой замены.
Открытая функция Split (input As String) As String ()
Разбивает входную строку на массив подстрок в позициях, определенных шаблоном регулярного выражения, указанным в конструкторе Regex.
Полный список методов и свойств см. В документации Microsoft.
Пример 1
В следующем примере сопоставляются слова, начинающиеся с ‘S’ —
Imports System.Text.RegularExpressions Module regexProg Sub showMatch(ByVal text As String, ByVal expr As String) Console.WriteLine("The Expression: " + expr) Dim mc As MatchCollection = Regex.Matches(text, expr) Dim m As Match For Each m In mc Console.WriteLine(m) Next m End Sub Sub Main() Dim str As String = "A Thousand Splendid Suns" Console.WriteLine("Matching words that start with 'S': ") showMatch(str, "\bS\S*") Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Matching words that start with 'S': The Expression: \bS\S* Splendid Suns
Пример 2
В следующем примере сопоставляются слова, которые начинаются с «m» и заканчиваются «e» —
Imports System.Text.RegularExpressions Module regexProg Sub showMatch(ByVal text As String, ByVal expr As String) Console.WriteLine("The Expression: " + expr) Dim mc As MatchCollection = Regex.Matches(text, expr) Dim m As Match For Each m In mc Console.WriteLine(m) Next m End Sub Sub Main() Dim str As String = "make a maze and manage to measure it" Console.WriteLine("Matching words that start with 'm' and ends with 'e': ") showMatch(str, "\bm\S*e\b") Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Matching words start with 'm' and ends with 'e': The Expression: \bm\S*e\b make maze manage measure
Пример 3
Этот пример заменяет дополнительный пробел —
Imports System.Text.RegularExpressions Module regexProg Sub Main() Dim input As String = "Hello World " Dim pattern As String = "\\s+" Dim replacement As String = " " Dim rgx As Regex = New Regex(pattern) Dim result As String = rgx.Replace(input, replacement) Console.WriteLine("Original String: {0}", input) Console.WriteLine("Replacement String: {0}", result) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Original String: Hello World Replacement String: Hello World
VB.Net — Доступ к базе данных
Приложения связываются с базой данных, во-первых, для извлечения хранящихся там данных и представления их в удобной для пользователя форме, а во-вторых, для обновления базы данных путем вставки, изменения и удаления данных.
Microsoft ActiveX Data Objects.Net (ADO.Net) — это модель, часть платформы .Net, которая используется приложениями .Net для извлечения, доступа и обновления данных.
ADO.Net объектная модель
Объектная модель ADO.Net — это не что иное, как структурированный процесс, проходящий через различные компоненты. Объектная модель может быть наглядно описана как —
Данные, находящиеся в хранилище данных или базе данных, извлекаются через поставщика данных . Различные компоненты поставщика данных извлекают данные для приложения и обновляют данные.
Приложение обращается к данным через набор данных или средство чтения данных.
-
Наборы данных хранят данные в отключенном кэше, и приложение извлекает данные из него.
-
Считыватели данных предоставляют данные приложению в режиме только для чтения и только для пересылки.
Наборы данных хранят данные в отключенном кэше, и приложение извлекает данные из него.
Считыватели данных предоставляют данные приложению в режиме только для чтения и только для пересылки.
Поставщик данных
Поставщик данных используется для подключения к базе данных, выполнения команд и извлечения данных, сохранения их в наборе данных, чтения полученных данных и обновления базы данных.
Поставщик данных в ADO.Net состоит из следующих четырех объектов:
Sr.No. | Объекты и описание |
---|---|
1 |
соединение Этот компонент используется для настройки соединения с источником данных. |
2 |
команда Команда — это оператор SQL или хранимая процедура, используемая для извлечения, вставки, удаления или изменения данных в источнике данных. |
3 |
DataReader Считыватель данных используется для извлечения данных из источника данных в режиме только для чтения и только для пересылки. |
4 |
DataAdapter Это является неотъемлемой частью работы ADO.Net, поскольку данные передаются в базу данных и из нее через адаптер данных. Он извлекает данные из базы данных в набор данных и обновляет базу данных. Когда в набор данных вносятся изменения, изменения в базе данных фактически выполняются адаптером данных. |
соединение
Этот компонент используется для настройки соединения с источником данных.
команда
Команда — это оператор SQL или хранимая процедура, используемая для извлечения, вставки, удаления или изменения данных в источнике данных.
DataReader
Считыватель данных используется для извлечения данных из источника данных в режиме только для чтения и только для пересылки.
DataAdapter
Это является неотъемлемой частью работы ADO.Net, поскольку данные передаются в базу данных и из нее через адаптер данных. Он извлекает данные из базы данных в набор данных и обновляет базу данных. Когда в набор данных вносятся изменения, изменения в базе данных фактически выполняются адаптером данных.
В ADO.Net включены следующие типы поставщиков данных.
-
Поставщик данных .Net Framework для SQL Server — обеспечивает доступ к Microsoft SQL Server.
-
Поставщик данных .Net Framework для OLE DB — обеспечивает доступ к источникам данных, предоставляемым с помощью OLE DB.
-
Поставщик данных .Net Framework для ODBC — обеспечивает доступ к источникам данных, предоставляемым ODBC.
-
Поставщик данных .Net Framework для Oracle — обеспечивает доступ к источнику данных Oracle.
-
Поставщик EntityClient — обеспечивает доступ к данным через приложения Entity Data Model (EDM).
Поставщик данных .Net Framework для SQL Server — обеспечивает доступ к Microsoft SQL Server.
Поставщик данных .Net Framework для OLE DB — обеспечивает доступ к источникам данных, предоставляемым с помощью OLE DB.
Поставщик данных .Net Framework для ODBC — обеспечивает доступ к источникам данных, предоставляемым ODBC.
Поставщик данных .Net Framework для Oracle — обеспечивает доступ к источнику данных Oracle.
Поставщик EntityClient — обеспечивает доступ к данным через приложения Entity Data Model (EDM).
DataSet
DataSet — это представление данных в памяти. Это отключенный, кэшированный набор записей, которые извлекаются из базы данных. Когда соединение с базой данных установлено, адаптер данных создает набор данных и сохраняет в нем данные. После того, как данные извлечены и сохранены в наборе данных, соединение с базой данных закрывается. Это называется «отключенная архитектура». Набор данных работает как виртуальная база данных, содержащая таблицы, строки и столбцы.
Следующая диаграмма показывает объектную модель набора данных —
Класс DataSet присутствует в пространстве имен System.Data . В следующей таблице описаны все компоненты DataSet —
Sr.No. | Компоненты и описание |
---|---|
1 |
DataTableCollection Он содержит все таблицы, полученные из источника данных. |
2 |
DataRelationCollection Он содержит отношения и ссылки между таблицами в наборе данных. |
3 |
ExtendedProperties Он содержит дополнительную информацию, такую как оператор SQL для извлечения данных, время извлечения и т. Д. |
4 |
Таблица данных Он представляет таблицу в DataTableCollection набора данных. Он состоит из объектов DataRow и DataColumn. Объекты DataTable чувствительны к регистру. |
5 |
DataRelation Он представляет отношение в DataRelationshipCollection набора данных. Он используется для связи двух объектов DataTable друг с другом через объекты DataColumn. |
6 |
DataRowCollection Он содержит все строки в DataTable. |
7 |
DataView Он представляет собой фиксированное настраиваемое представление DataTable для сортировки, фильтрации, поиска, редактирования и навигации. |
8 |
Основной ключ Он представляет столбец, который уникально идентифицирует строку в DataTable. |
9 |
DataRow Он представляет строку в DataTable. Объект DataRow, его свойства и методы используются для извлечения, оценки, вставки, удаления и обновления значений в DataTable. Метод NewRow используется для создания новой строки, а метод Add добавляет строку в таблицу. |
10 |
DataColumnCollection Он представляет все столбцы в DataTable. |
11 |
DataColumn Он состоит из количества столбцов, составляющих DataTable. |
DataTableCollection
Он содержит все таблицы, полученные из источника данных.
DataRelationCollection
Он содержит отношения и ссылки между таблицами в наборе данных.
ExtendedProperties
Он содержит дополнительную информацию, такую как оператор SQL для извлечения данных, время извлечения и т. Д.
Таблица данных
Он представляет таблицу в DataTableCollection набора данных. Он состоит из объектов DataRow и DataColumn. Объекты DataTable чувствительны к регистру.
DataRelation
Он представляет отношение в DataRelationshipCollection набора данных. Он используется для связи двух объектов DataTable друг с другом через объекты DataColumn.
DataRowCollection
Он содержит все строки в DataTable.
DataView
Он представляет собой фиксированное настраиваемое представление DataTable для сортировки, фильтрации, поиска, редактирования и навигации.
Основной ключ
Он представляет столбец, который уникально идентифицирует строку в DataTable.
DataRow
Он представляет строку в DataTable. Объект DataRow, его свойства и методы используются для извлечения, оценки, вставки, удаления и обновления значений в DataTable. Метод NewRow используется для создания новой строки, а метод Add добавляет строку в таблицу.
DataColumnCollection
Он представляет все столбцы в DataTable.
DataColumn
Он состоит из количества столбцов, составляющих DataTable.
Подключение к базе данных
.Net Framework предоставляет два типа классов соединения.
-
SqlConnection — предназначен для подключения к Microsoft SQL Server.
-
OleDbConnection — предназначен для подключения к широкому спектру баз данных, таких как Microsoft Access и Oracle.
SqlConnection — предназначен для подключения к Microsoft SQL Server.
OleDbConnection — предназначен для подключения к широкому спектру баз данных, таких как Microsoft Access и Oracle.
Пример 1
У нас есть таблица, хранящаяся в Microsoft SQL Server с именем Customers, в базе данных с именем testDB. Пожалуйста, обратитесь к руководству по SQL Server для создания баз данных и таблиц баз данных в SQL Server.
Давайте подключимся к этой базе данных. Сделайте следующие шаги —
-
Выберите ИНСТРУМЕНТЫ → Подключиться к базе данных.
Выберите ИНСТРУМЕНТЫ → Подключиться к базе данных.
-
Выберите имя сервера и имя базы данных в диалоговом окне «Добавить подключение».
M
Выберите имя сервера и имя базы данных в диалоговом окне «Добавить подключение».
-
Нажмите кнопку «Проверить соединение», чтобы проверить, успешно ли установлено соединение.
Нажмите кнопку «Проверить соединение», чтобы проверить, успешно ли установлено соединение.
-
Добавьте DataGridView на форму.
Добавьте DataGridView на форму.
-
Нажмите на поле со списком выбора источника данных.
-
Нажмите на ссылку Добавить источник данных проекта.
Нажмите на поле со списком выбора источника данных.
Нажмите на ссылку Добавить источник данных проекта.
-
Откроется мастер настройки источника данных.
-
Выберите базу данных в качестве типа источника данных
Откроется мастер настройки источника данных.
Выберите базу данных в качестве типа источника данных
-
Выберите DataSet в качестве модели базы данных.
Выберите DataSet в качестве модели базы данных.
-
Выберите соединение, которое уже установлено.
Выберите соединение, которое уже установлено.
-
Сохраните строку подключения.
Сохраните строку подключения.
-
Выберите объект базы данных, таблицу Customers в нашем примере и нажмите кнопку Finish.
Выберите объект базы данных, таблицу Customers в нашем примере и нажмите кнопку Finish.
-
Выберите ссылку «Просмотр данных», чтобы просмотреть данные в таблице результатов.
Выберите ссылку «Просмотр данных», чтобы просмотреть данные в таблице результатов.
Когда приложение запускается с помощью кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, оно отображает следующее окно:
Пример 2
В этом примере позвольте нам получить доступ к данным в элементе управления DataGridView, используя код. Сделайте следующие шаги —
-
Добавьте элемент управления DataGridView и кнопку в форме.
-
Измените текст кнопки управления на «Заполнить».
-
Дважды щелкните элемент управления кнопки, чтобы добавить необходимый код для события Click кнопки, как показано ниже —
Добавьте элемент управления DataGridView и кнопку в форме.
Измените текст кнопки управления на «Заполнить».
Дважды щелкните элемент управления кнопки, чтобы добавить необходимый код для события Click кнопки, как показано ниже —
Imports System.Data.SqlClient Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) _ Handles MyBase.Load 'TODO: This line of code loads data into the 'TestDBDataSet.CUSTOMERS' table. You can move, or remove it, as needed. Me.CUSTOMERSTableAdapter.Fill(Me.TestDBDataSet.CUSTOMERS) ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim connection As SqlConnection = New sqlconnection() connection.ConnectionString = "Data Source=KABIR-DESKTOP; _ Initial Catalog=testDB;Integrated Security=True" connection.Open() Dim adp As SqlDataAdapter = New SqlDataAdapter _ ("select * from Customers", connection) Dim ds As DataSet = New DataSet() adp.Fill(ds) DataGridView1.DataSource = ds.Tables(0) End Sub End Class
-
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
-
При нажатии кнопки «Заполнить» отображается таблица в элементе управления представлением сетки данных —
При нажатии кнопки «Заполнить» отображается таблица в элементе управления представлением сетки данных —
Создание таблицы, столбцов и строк
Мы обсуждали, что компоненты DataSet, такие как DataTable, DataColumn и DataRow, позволяют нам создавать таблицы, столбцы и строки соответственно.
Следующий пример демонстрирует концепцию —
Пример 3
До сих пор мы использовали таблицы и базы данных, уже существующие на нашем компьютере. В этом примере мы создадим таблицу, добавим в нее столбцы, строки и данные и отобразим таблицу с помощью объекта DataGridView.
Сделайте следующие шаги —
-
Добавьте элемент управления DataGridView и кнопку в форме.
-
Измените текст кнопки управления на «Заполнить».
-
Добавьте следующий код в редактор кода.
Добавьте элемент управления DataGridView и кнопку в форме.
Измените текст кнопки управления на «Заполнить».
Добавьте следующий код в редактор кода.
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspont.com" End Sub Private Function CreateDataSet() As DataSet 'creating a DataSet object for tables Dim dataset As DataSet = New DataSet() ' creating the student table Dim Students As DataTable = CreateStudentTable() dataset.Tables.Add(Students) Return dataset End Function Private Function CreateStudentTable() As DataTable Dim Students As DataTable Students = New DataTable("Student") ' adding columns AddNewColumn(Students, "System.Int32", "StudentID") AddNewColumn(Students, "System.String", "StudentName") AddNewColumn(Students, "System.String", "StudentCity") ' adding rows AddNewRow(Students, 1, "Zara Ali", "Kolkata") AddNewRow(Students, 2, "Shreya Sharma", "Delhi") AddNewRow(Students, 3, "Rini Mukherjee", "Hyderabad") AddNewRow(Students, 4, "Sunil Dubey", "Bikaner") AddNewRow(Students, 5, "Rajat Mishra", "Patna") Return Students End Function Private Sub AddNewColumn(ByRef table As DataTable, _ ByVal columnType As String, ByVal columnName As String) Dim column As DataColumn = _ table.Columns.Add(columnName, Type.GetType(columnType)) End Sub 'adding data into the table Private Sub AddNewRow(ByRef table As DataTable, ByRef id As Integer,_ ByRef name As String, ByRef city As String) Dim newrow As DataRow = table.NewRow() newrow("StudentID") = id newrow("StudentName") = name newrow("StudentCity") = city table.Rows.Add(newrow) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim ds As New DataSet ds = CreateDataSet() DataGridView1.DataSource = ds.Tables("Student") End Sub End Class
-
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
-
При нажатии кнопки «Заполнить» отображается таблица в элементе управления представлением сетки данных —
При нажатии кнопки «Заполнить» отображается таблица в элементе управления представлением сетки данных —
VB.Net — Excel Sheet
VB.Net обеспечивает поддержку взаимодействия между объектной моделью COM Microsoft Excel 2010 и вашим приложением.
Чтобы использовать эту совместимость в вашем приложении, вам необходимо импортировать пространство имен Microsoft.Office.Interop.Excel в ваше приложение Windows Form.
Создание приложения Excel из VB.Net
Давайте начнем с создания приложения Window Forms, выполнив следующие шаги в Microsoft Visual Studio: Файл → Новый проект → Приложения Windows Forms.
Наконец, нажмите OK, Microsoft Visual Studio создаст ваш проект и отобразит следующую форму Form1 .
Вставьте элемент управления Button1 в форму.
Добавьте ссылку на библиотеку объектов Microsoft Excel в свой проект. Для этого —
-
Выберите Добавить ссылку в меню проекта.
Выберите Добавить ссылку в меню проекта.
-
На вкладке COM найдите библиотеку объектов Microsoft Excel и нажмите «Выбрать».
На вкладке COM найдите библиотеку объектов Microsoft Excel и нажмите «Выбрать».
-
Нажмите ОК.
Нажмите ОК.
Дважды щелкните окно кода и заполните событие Click для Button1, как показано ниже.
' Add the following code snippet on top of Form1.vb Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim appXL As Excel.Application Dim wbXl As Excel.Workbook Dim shXL As Excel.Worksheet Dim raXL As Excel.Range ' Start Excel and get Application object. appXL = CreateObject("Excel.Application") appXL.Visible = True ' Add a new workbook. wbXl = appXL.Workbooks.Add shXL = wbXl.ActiveSheet ' Add table headers going cell by cell. shXL.Cells(1, 1).Value = "First Name" shXL.Cells(1, 2).Value = "Last Name" shXL.Cells(1, 3).Value = "Full Name" shXL.Cells(1, 4).Value = "Specialization" ' Format A1:D1 as bold, vertical alignment = center. With shXL.Range("A1", "D1") .Font.Bold = True .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter End With ' Create an array to set multiple values at once. Dim students(5, 2) As String students(0, 0) = "Zara" students(0, 1) = "Ali" students(1, 0) = "Nuha" students(1, 1) = "Ali" students(2, 0) = "Arilia" students(2, 1) = "RamKumar" students(3, 0) = "Rita" students(3, 1) = "Jones" students(4, 0) = "Umme" students(4, 1) = "Ayman" ' Fill A2:B6 with an array of values (First and Last Names). shXL.Range("A2", "B6").Value = students ' Fill C2:C6 with a relative formula (=A2 & " " & B2). raXL = shXL.Range("C2", "C6") raXL.Formula = "=A2 & "" "" & B2" ' Fill D2:D6 values. With shXL .Cells(2, 4).Value = "Biology" .Cells(3, 4).Value = "Mathmematics" .Cells(4, 4).Value = "Physics" .Cells(5, 4).Value = "Mathmematics" .Cells(6, 4).Value = "Arabic" End With ' AutoFit columns A:D. raXL = shXL.Range("A1", "D1") raXL.EntireColumn.AutoFit() ' Make sure Excel is visible and give the user control ' of Excel's lifetime. appXL.Visible = True appXL.UserControl = True ' Release object references. raXL = Nothing shXL = Nothing wbXl = Nothing appXL.Quit() appXL = Nothing Exit Sub Err_Handler: MsgBox(Err.Description, vbCritical, "Error: " & Err.Number) End Sub End Class
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, появится следующее окно:
При нажатии на кнопку отобразится следующий лист Excel. Вам будет предложено сохранить рабочую книгу.
VB.Net — Отправить письмо
VB.Net позволяет отправлять электронные письма из вашего приложения. Пространство имен System.Net.Mail содержит классы, используемые для отправки сообщений электронной почты на SMTP-сервер для доставки.
В следующей таблице перечислены некоторые из этих обычно используемых классов —
Sr.No. | Класс и описание |
---|---|
1 |
прикрепление Представляет вложение в электронное письмо. |
2 |
AttachmentCollection Хранит вложения, которые будут отправлены как часть сообщения электронной почты. |
3 |
Почта Адрес Представляет адрес отправителя или получателя электронной почты. |
4 |
MailAddressCollection Хранит адреса электронной почты, связанные с сообщением электронной почты. |
5 |
MailMessage Представляет сообщение электронной почты, которое можно отправить с помощью класса SmtpClient. |
6 |
SmtpClient Позволяет приложениям отправлять электронную почту с помощью протокола SMTP. |
7 |
SmtpException Представляет исключение, которое выдается, когда SmtpClient не может завершить операцию Send или SendAsync. |
прикрепление
Представляет вложение в электронное письмо.
AttachmentCollection
Хранит вложения, которые будут отправлены как часть сообщения электронной почты.
Почта Адрес
Представляет адрес отправителя или получателя электронной почты.
MailAddressCollection
Хранит адреса электронной почты, связанные с сообщением электронной почты.
MailMessage
Представляет сообщение электронной почты, которое можно отправить с помощью класса SmtpClient.
SmtpClient
Позволяет приложениям отправлять электронную почту с помощью протокола SMTP.
SmtpException
Представляет исключение, которое выдается, когда SmtpClient не может завершить операцию Send или SendAsync.
Класс SmtpClient
Класс SmtpClient позволяет приложениям отправлять электронную почту с помощью протокола SMTP.
Ниже приведены некоторые часто используемые свойства класса SmtpClient:
Sr.No. | Описание недвижимости |
---|---|
1 |
ClientCertificates Указывает, какие сертификаты следует использовать для установления соединения по протоколу SSL. |
2 |
полномочия Получает или задает учетные данные, используемые для проверки подлинности отправителя. |
3 |
EnableSsl Указывает, использует ли SmtpClient протокол защищенных сокетов (SSL) для шифрования соединения. |
4 |
хозяин Получает или задает имя или IP-адрес узла, используемого для транзакций SMTP. |
5 |
порт Получает или задает порт, используемый для транзакций SMTP. |
6 |
Тайм — аут Получает или задает значение, указывающее период времени, по истечении которого тайм-аут синхронного вызова отправляется. |
7 |
UseDefaultCredentials Получает или задает логическое значение, определяющее, отправляются ли DefaultCredentials с запросами. |
ClientCertificates
Указывает, какие сертификаты следует использовать для установления соединения по протоколу SSL.
полномочия
Получает или задает учетные данные, используемые для проверки подлинности отправителя.
EnableSsl
Указывает, использует ли SmtpClient протокол защищенных сокетов (SSL) для шифрования соединения.
хозяин
Получает или задает имя или IP-адрес узла, используемого для транзакций SMTP.
порт
Получает или задает порт, используемый для транзакций SMTP.
Тайм — аут
Получает или задает значение, указывающее период времени, по истечении которого тайм-аут синхронного вызова отправляется.
UseDefaultCredentials
Получает или задает логическое значение, определяющее, отправляются ли DefaultCredentials с запросами.
Ниже приведены некоторые часто используемые методы класса SmtpClient:
Sr.No. | Метод и описание |
---|---|
1 |
избавиться Отправляет сообщение QUIT на SMTP-сервер, корректно завершает TCP-соединение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient. |
2 |
Dispose (Boolean) Отправляет сообщение QUIT на SMTP-сервер, корректно завершает TCP-соединение, освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и, при необходимости, удаляет управляемые ресурсы. |
3 |
OnSendCompleted Вызывает событие SendCompleted. |
4 |
Отправить (MailMessage) Отправляет указанное сообщение на SMTP-сервер для доставки. |
5 |
Отправить (строка, строка, строка, строка) Отправляет указанное сообщение электронной почты на SMTP-сервер для доставки. Отправитель, получатели, тема и тело сообщения указываются с использованием объектов String. |
6 |
SendAsync (MailMessage, Object) Отправляет указанное сообщение электронной почты на SMTP-сервер для доставки. Этот метод не блокирует вызывающий поток и позволяет вызывающей стороне передавать объект методу, который вызывается после завершения операции. |
7 |
SendAsync (строка, строка, строка, строка, объект) Отправляет сообщение электронной почты на SMTP-сервер для доставки. Отправитель, получатели, тема и тело сообщения указываются с использованием объектов String. Этот метод не блокирует вызывающий поток и позволяет вызывающей стороне передавать объект методу, который вызывается после завершения операции. |
8 |
SendAsyncCancel Отменяет асинхронную операцию отправки сообщения электронной почты. |
9 |
SendMailAsync (MailMessage) Отправляет указанное сообщение на SMTP-сервер для доставки как асинхронная операция. |
10 |
SendMailAsync (строка, строка, строка, строка) Отправляет указанное сообщение на SMTP-сервер для доставки как асинхронная операция. , Отправитель, получатели, тема и тело сообщения указываются с использованием объектов String. |
11 |
Нанизывать Возвращает строку, которая представляет текущий объект. |
избавиться
Отправляет сообщение QUIT на SMTP-сервер, корректно завершает TCP-соединение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.
Dispose (Boolean)
Отправляет сообщение QUIT на SMTP-сервер, корректно завершает TCP-соединение, освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и, при необходимости, удаляет управляемые ресурсы.
OnSendCompleted
Вызывает событие SendCompleted.
Отправить (MailMessage)
Отправляет указанное сообщение на SMTP-сервер для доставки.
Отправить (строка, строка, строка, строка)
Отправляет указанное сообщение электронной почты на SMTP-сервер для доставки. Отправитель, получатели, тема и тело сообщения указываются с использованием объектов String.
SendAsync (MailMessage, Object)
Отправляет указанное сообщение электронной почты на SMTP-сервер для доставки. Этот метод не блокирует вызывающий поток и позволяет вызывающей стороне передавать объект методу, который вызывается после завершения операции.
SendAsync (строка, строка, строка, строка, объект)
Отправляет сообщение электронной почты на SMTP-сервер для доставки. Отправитель, получатели, тема и тело сообщения указываются с использованием объектов String. Этот метод не блокирует вызывающий поток и позволяет вызывающей стороне передавать объект методу, который вызывается после завершения операции.
SendAsyncCancel
Отменяет асинхронную операцию отправки сообщения электронной почты.
SendMailAsync (MailMessage)
Отправляет указанное сообщение на SMTP-сервер для доставки как асинхронная операция.
SendMailAsync (строка, строка, строка, строка)
Отправляет указанное сообщение на SMTP-сервер для доставки как асинхронная операция. , Отправитель, получатели, тема и тело сообщения указываются с использованием объектов String.
Нанизывать
Возвращает строку, которая представляет текущий объект.
В следующем примере показано, как отправлять почту с помощью класса SmtpClient. В этом отношении следует отметить следующие моменты:
-
Вы должны указать хост-сервер SMTP, который вы используете для отправки электронной почты. Свойства хоста и порта будут разными для разных хост-серверов. Мы будем использовать сервер Gmail.
-
Вам необходимо предоставить учетные данные для аутентификации, если это требуется SMTP-сервером.
-
Вы также должны указать адрес электронной почты отправителя и адрес электронной почты или адреса получателей, используя свойства MailMessage.From и MailMessage.To соответственно.
-
Вы также должны указать содержимое сообщения, используя свойство MailMessage.Body .
Вы должны указать хост-сервер SMTP, который вы используете для отправки электронной почты. Свойства хоста и порта будут разными для разных хост-серверов. Мы будем использовать сервер Gmail.
Вам необходимо предоставить учетные данные для аутентификации, если это требуется SMTP-сервером.
Вы также должны указать адрес электронной почты отправителя и адрес электронной почты или адреса получателей, используя свойства MailMessage.From и MailMessage.To соответственно.
Вы также должны указать содержимое сообщения, используя свойство MailMessage.Body .
пример
В этом примере давайте создадим простое приложение, которое будет отправлять электронную почту. Сделайте следующие шаги —
-
Добавьте три метки, три текстовых поля и кнопку управления в форме.
-
Измените свойства текста меток на — «От», «Кому» и «Сообщение:» соответственно.
-
Измените свойства имени текстов на txtFrom, txtTo и txtMessage соответственно.
-
Измените свойство текста элемента управления кнопки на «Отправить»
-
Добавьте следующий код в редактор кода.
Добавьте три метки, три текстовых поля и кнопку управления в форме.
Измените свойства текста меток на — «От», «Кому» и «Сообщение:» соответственно.
Измените свойства имени текстов на txtFrom, txtTo и txtMessage соответственно.
Измените свойство текста элемента управления кнопки на «Отправить»
Добавьте следующий код в редактор кода.
Imports System.Net.Mail Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try Dim Smtp_Server As New SmtpClient Dim e_mail As New MailMessage() Smtp_Server.UseDefaultCredentials = False Smtp_Server.Credentials = New Net.NetworkCredential("[email protected]", "password") Smtp_Server.Port = 587 Smtp_Server.EnableSsl = True Smtp_Server.Host = "smtp.gmail.com" e_mail = New MailMessage() e_mail.From = New MailAddress(txtFrom.Text) e_mail.To.Add(txtTo.Text) e_mail.Subject = "Email Sending" e_mail.IsBodyHtml = False e_mail.Body = txtMessage.Text Smtp_Server.Send(e_mail) MsgBox("Mail Sent") Catch error_t As Exception MsgBox(error_t.ToString) End Try End Sub
-
Вы должны предоставить свой адрес электронной почты и реальный пароль для учетных данных.
-
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, отобразится следующее окно, которое вы будете использовать для отправки электронной почты, попробуйте сами.
Вы должны предоставить свой адрес электронной почты и реальный пароль для учетных данных.
Когда приведенный выше код будет выполнен и запущен с использованием кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio, отобразится следующее окно, которое вы будете использовать для отправки электронной почты, попробуйте сами.
VB.Net — обработка XML
Расширяемый язык разметки (XML) — это язык разметки, очень похожий на HTML или SGML. Это рекомендуется Консорциумом World Wide Web и доступно в качестве открытого стандарта.
Пространство имен System.Xml в .Net Framework содержит классы для обработки документов XML. Ниже приведены некоторые из наиболее часто используемых классов в пространстве имен System.Xml.
Sr.No. | Класс и описание |
---|---|
1 |
XmlAttribute Представляет атрибут. Допустимые значения и значения по умолчанию для атрибута определены в определении типа документа (DTD) или в схеме. |
2 |
XmlCDataSection Представляет раздел CDATA. |
3 |
XmlCharacterData Предоставляет методы обработки текста, которые используются несколькими классами. |
4 |
XmlComment Представляет содержимое комментария XML. |
5 |
XmlConvert Кодирует и декодирует имена XML и предоставляет методы для преобразования между типами среды выполнения общего языка и типами языка определения схемы XML (XSD). При преобразовании типов данных возвращаемые значения не зависят от локали. |
6 |
XmlDeclaration Представляет узел объявления XML <? Xml version = ‘1.0’ …?>. |
7 |
XmlDictionary Реализует словарь, используемый для оптимизации реализаций чтения и записи XML в Windows Communication Foundation (WCF). |
8 |
XmlDictionaryReader Абстрактный класс, который Windows Communication Foundation (WCF) наследует от XmlReader для выполнения сериализации и десериализации. |
9 |
XmlDictionaryWriter Представляет абстрактный класс, который Windows Communication Foundation (WCF) наследует от XmlWriter для выполнения сериализации и десериализации. |
10 |
XmlDocument Представляет документ XML. |
11 |
XmlDocumentFragment Представляет легкий объект, который полезен для операций вставки дерева. |
12 |
XmlDocumentType Представляет объявление типа документа. |
13 |
XmlElement Представляет элемент. |
14 |
XmlEntity Представляет объявление сущности, например <! ENTITY …>. |
15 |
XmlEntityReference Представляет узел ссылки на сущность. |
16 |
XmlException Возвращает подробную информацию о последнем исключении. |
17 |
XmlImplementation Определяет контекст для набора объектов XmlDocument. |
18 |
XmlLinkedNode Получает узел, непосредственно предшествующий или следующий за этим узлом. |
19 |
XmlNode Представляет один узел в документе XML. |
20 |
XmlNodeList Представляет упорядоченную коллекцию узлов. |
21 |
XmlNodeReader Представляет читателя, который обеспечивает быстрый, без кэширования прямой доступ только к данным XML в XmlNode. |
22 |
XmlNotation Представляет объявление нотации, например <! NOTATION …>. |
23 |
XmlParserContext Предоставляет всю контекстную информацию, необходимую XmlReader для анализа фрагмента XML. |
24 |
XmlProcessingInstruction Представляет инструкцию обработки, которую XML определяет для хранения специфичной для процессора информации в тексте документа. |
25 |
XmlQualifiedName Представляет полное имя XML. |
26 |
XmlReader Представляет читателя, который обеспечивает быстрый, не кэшированный, прямой доступ к данным XML. |
27 |
XmlReaderSettings Задает набор функций для поддержки объекта XmlReader, созданного методом Create. |
28 |
XmlResolver Разрешает внешние ресурсы XML, названные универсальным идентификатором ресурса (URI). |
29 |
XmlSecureResolver Помогает защитить другую реализацию XmlResolver, оборачивая объект XmlResolver и ограничивая ресурсы, к которым имеет доступ базовый XmlResolver. |
30 |
XmlSignificantWhitespace Представляет пробел между разметкой в узле смешанного содержимого или пробелом в области xml: space = ‘preserve’. Это также называется значительным пробелом. |
31 |
XmlText Представляет текстовое содержимое элемента или атрибута. |
32 |
XmlTextReader Представляет читателя, который обеспечивает быстрый, не кэшированный, прямой доступ к данным XML. |
33 |
XmlTextWriter Представляет средство записи, обеспечивающее быстрый, не кэшированный, прямой способ генерации потоков или файлов, содержащих данные XML, которые соответствуют W3C Extensible Markup Language (XML) 1.0 и пространствам имен в рекомендациях XML. |
34 |
XmlUrlResolver Разрешает внешние ресурсы XML, названные универсальным идентификатором ресурса (URI). |
35 |
XmlWhitespace Представляет пустое пространство в содержимом элемента. |
36 |
XmlWriter Представляет средство записи, обеспечивающее быстрое, не кэшированное, предназначенное только для пересылки средство создания потоков или файлов, содержащих данные XML. |
37 |
XmlWriterSettings Задает набор функций для поддержки объекта XmlWriter, созданного методом XmlWriter.Create. |
XmlAttribute
Представляет атрибут. Допустимые значения и значения по умолчанию для атрибута определены в определении типа документа (DTD) или в схеме.
XmlCDataSection
Представляет раздел CDATA.
XmlCharacterData
Предоставляет методы обработки текста, которые используются несколькими классами.
XmlComment
Представляет содержимое комментария XML.
XmlConvert
Кодирует и декодирует имена XML и предоставляет методы для преобразования между типами среды выполнения общего языка и типами языка определения схемы XML (XSD). При преобразовании типов данных возвращаемые значения не зависят от локали.
XmlDeclaration
Представляет узел объявления XML <? Xml version = ‘1.0’ …?>.
XmlDictionary
Реализует словарь, используемый для оптимизации реализаций чтения и записи XML в Windows Communication Foundation (WCF).
XmlDictionaryReader
Абстрактный класс, который Windows Communication Foundation (WCF) наследует от XmlReader для выполнения сериализации и десериализации.
XmlDictionaryWriter
Представляет абстрактный класс, который Windows Communication Foundation (WCF) наследует от XmlWriter для выполнения сериализации и десериализации.
XmlDocument
Представляет документ XML.
XmlDocumentFragment
Представляет легкий объект, который полезен для операций вставки дерева.
XmlDocumentType
Представляет объявление типа документа.
XmlElement
Представляет элемент.
XmlEntity
Представляет объявление сущности, например <! ENTITY …>.
XmlEntityReference
Представляет узел ссылки на сущность.
XmlException
Возвращает подробную информацию о последнем исключении.
XmlImplementation
Определяет контекст для набора объектов XmlDocument.
XmlLinkedNode
Получает узел, непосредственно предшествующий или следующий за этим узлом.
XmlNode
Представляет один узел в документе XML.
XmlNodeList
Представляет упорядоченную коллекцию узлов.
XmlNodeReader
Представляет читателя, который обеспечивает быстрый, без кэширования прямой доступ только к данным XML в XmlNode.
XmlNotation
Представляет объявление нотации, например <! NOTATION …>.
XmlParserContext
Предоставляет всю контекстную информацию, необходимую XmlReader для анализа фрагмента XML.
XmlProcessingInstruction
Представляет инструкцию обработки, которую XML определяет для хранения специфичной для процессора информации в тексте документа.
XmlQualifiedName
Представляет полное имя XML.
XmlReader
Представляет читателя, который обеспечивает быстрый, не кэшированный, прямой доступ к данным XML.
XmlReaderSettings
Задает набор функций для поддержки объекта XmlReader, созданного методом Create.
XmlResolver
Разрешает внешние ресурсы XML, названные универсальным идентификатором ресурса (URI).
XmlSecureResolver
Помогает защитить другую реализацию XmlResolver, оборачивая объект XmlResolver и ограничивая ресурсы, к которым имеет доступ базовый XmlResolver.
XmlSignificantWhitespace
Представляет пробел между разметкой в узле смешанного содержимого или пробелом в области xml: space = ‘preserve’. Это также называется значительным пробелом.
XmlText
Представляет текстовое содержимое элемента или атрибута.
XmlTextReader
Представляет читателя, который обеспечивает быстрый, не кэшированный, прямой доступ к данным XML.
XmlTextWriter
Представляет средство записи, обеспечивающее быстрый, не кэшированный, прямой способ генерации потоков или файлов, содержащих данные XML, которые соответствуют W3C Extensible Markup Language (XML) 1.0 и пространствам имен в рекомендациях XML.
XmlUrlResolver
Разрешает внешние ресурсы XML, названные универсальным идентификатором ресурса (URI).
XmlWhitespace
Представляет пустое пространство в содержимом элемента.
XmlWriter
Представляет средство записи, обеспечивающее быстрое, не кэшированное, предназначенное только для пересылки средство создания потоков или файлов, содержащих данные XML.
XmlWriterSettings
Задает набор функций для поддержки объекта XmlWriter, созданного методом XmlWriter.Create.
API парсера XML
Двумя наиболее основными и широко используемыми API для XML-данных являются интерфейсы SAX и DOM.
-
Простой API для XML (SAX) — здесь вы регистрируете обратные вызовы для интересующих событий, а затем позволяете анализатору проходить через документ. Это полезно, когда ваши документы большие или у вас есть ограничения памяти, он анализирует файл, когда читает его с диска, и весь файл никогда не сохраняется в памяти.
-
API Document Object Model (DOM) — это рекомендация Консорциума World Wide Web, в которой весь файл считывается в память и сохраняется в иерархической (основанной на дереве) форме для представления всех возможностей документа XML.
Простой API для XML (SAX) — здесь вы регистрируете обратные вызовы для интересующих событий, а затем позволяете анализатору проходить через документ. Это полезно, когда ваши документы большие или у вас есть ограничения памяти, он анализирует файл, когда читает его с диска, и весь файл никогда не сохраняется в памяти.
API Document Object Model (DOM) — это рекомендация Консорциума World Wide Web, в которой весь файл считывается в память и сохраняется в иерархической (основанной на дереве) форме для представления всех возможностей документа XML.
Очевидно, что SAX не может обрабатывать информацию так же быстро, как DOM при работе с большими файлами. С другой стороны, использование исключительно DOM действительно может убить ваши ресурсы, особенно если они используются для большого количества маленьких файлов.
SAX доступен только для чтения, а DOM позволяет вносить изменения в файл XML. Поскольку эти два разных API буквально дополняют друг друга, нет никаких причин, по которым вы не можете использовать их оба для больших проектов.
Для всех наших примеров XML-кода, давайте использовать простой XML-файл movies.xml в качестве входных данных —
<?xml version = "1.0"?> <collection shelf = "New Arrivals"> <movie title = "Enemy Behind"> <type>War, Thriller</type> <format>DVD</format> <year>2003</year> <rating>PG</rating> <stars>10</stars> <description>Talk about a US-Japan war</description> </movie> <movie title = "Transformers"> <type>Anime, Science Fiction</type> <format>DVD</format> <year>1989</year> <rating>R</rating> <stars>8</stars> <description>A schientific fiction</description> </movie> <movie title = "Trigun"> <type>Anime, Action</type> <format>DVD</format> <episodes>4</episodes> <rating>PG</rating> <stars>10</stars> <description>Vash the Stampede!</description> </movie> <movie title = "Ishtar"> <type>Comedy</type> <format>VHS</format> <rating>PG</rating> <stars>2</stars> <description>Viewable boredom</description> </movie> </collection>
Разбор XML с помощью SAX API
В модели SAX вы используете классы XmlReader и XmlWriter для работы с данными XML.
Класс XmlReader используется для чтения данных XML быстрым, прямым и не кэшированным способом. Он читает документ XML или поток.
Пример 1
Этот пример демонстрирует чтение XML-данных из файла movies.xml.
Сделайте следующие шаги —
-
Добавьте файл movies.xml в папку bin \ Debug вашего приложения.
-
Импортируйте пространство имен System.Xml в файле Form1.vb.
-
Добавьте метку в форму и измените ее текст на «Movies Galore».
-
Добавьте три списка и три кнопки, чтобы показать заголовок, тип и описание фильма из XML-файла.
-
Добавьте следующий код, используя окно редактора кода.
Добавьте файл movies.xml в папку bin \ Debug вашего приложения.
Импортируйте пространство имен System.Xml в файле Form1.vb.
Добавьте метку в форму и измените ее текст на «Movies Galore».
Добавьте три списка и три кнопки, чтобы показать заголовок, тип и описание фильма из XML-файла.
Добавьте следующий код, используя окно редактора кода.
Imports System.Xml Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ListBox1().Items.Clear() Dim xr As XmlReader = XmlReader.Create("movies.xml") Do While xr.Read() If xr.NodeType = XmlNodeType.Element AndAlso xr.Name = "movie" Then ListBox1.Items.Add(xr.GetAttribute(0)) End If Loop End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ListBox2().Items.Clear() Dim xr As XmlReader = XmlReader.Create("movies.xml") Do While xr.Read() If xr.NodeType = XmlNodeType.Element AndAlso xr.Name = "type" Then ListBox2.Items.Add(xr.ReadElementString) Else xr.Read() End If Loop End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click ListBox3().Items.Clear() Dim xr As XmlReader = XmlReader.Create("movies.xml") Do While xr.Read() If xr.NodeType = XmlNodeType.Element AndAlso xr.Name = "description" Then ListBox3.Items.Add(xr.ReadElementString) Else xr.Read() End If Loop End Sub End Class
Выполните и запустите приведенный выше код с помощью кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio. Нажатие на кнопки отобразит название, тип и описание фильмов из файла.
Класс XmlWriter используется для записи данных XML в поток, файл или объект TextWriter. Он также работает только в прямом, не кэшированном виде.
Пример 2
Давайте создадим файл XML, добавив некоторые данные во время выполнения. Сделайте следующие шаги —
-
Добавьте элемент управления WebBrowser и элемент управления кнопки в форме.
-
Измените свойство «Текст» кнопки на «Показать файл авторов».
-
Добавьте следующий код в редактор кода.
Добавьте элемент управления WebBrowser и элемент управления кнопки в форме.
Измените свойство «Текст» кнопки на «Показать файл авторов».
Добавьте следующий код в редактор кода.
Imports System.Xml Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim xws As XmlWriterSettings = New XmlWriterSettings() xws.Indent = True xws.NewLineOnAttributes = True Dim xw As XmlWriter = XmlWriter.Create("authors.xml", xws) xw.WriteStartDocument() xw.WriteStartElement("Authors") xw.WriteStartElement("author") xw.WriteAttributeString("code", "1") xw.WriteElementString("fname", "Zara") xw.WriteElementString("lname", "Ali") xw.WriteEndElement() xw.WriteStartElement("author") xw.WriteAttributeString("code", "2") xw.WriteElementString("fname", "Priya") xw.WriteElementString("lname", "Sharma") xw.WriteEndElement() xw.WriteStartElement("author") xw.WriteAttributeString("code", "3") xw.WriteElementString("fname", "Anshuman") xw.WriteElementString("lname", "Mohan") xw.WriteEndElement() xw.WriteStartElement("author") xw.WriteAttributeString("code", "4") xw.WriteElementString("fname", "Bibhuti") xw.WriteElementString("lname", "Banerjee") xw.WriteEndElement() xw.WriteStartElement("author") xw.WriteAttributeString("code", "5") xw.WriteElementString("fname", "Riyan") xw.WriteElementString("lname", "Sengupta") xw.WriteEndElement() xw.WriteEndElement() xw.WriteEndDocument() xw.Flush() xw.Close() WebBrowser1.Url = New Uri(AppDomain.CurrentDomain.BaseDirectory + "authors.xml") End Sub End Class
-
Выполните и запустите приведенный выше код с помощью кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio. Если щелкнуть «Показать файл автора», в веб-браузере отобразится вновь созданный файлhors.xml.
Выполните и запустите приведенный выше код с помощью кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio. Если щелкнуть «Показать файл автора», в веб-браузере отобразится вновь созданный файлhors.xml.
Разбор XML с DOM API
Согласно объектной модели документа (DOM), документ XML состоит из узлов и атрибутов узлов. Класс XmlDocument используется для реализации синтаксического анализатора XML DOM .Net Framework. Это также позволяет вам изменять существующий XML-документ, вставляя, удаляя или обновляя данные в документе.
Ниже приведены некоторые из наиболее часто используемых методов класса XmlDocument.
Sr.No. | Название и описание метода |
---|---|
1 |
AppendChild Добавляет указанный узел в конец списка дочерних узлов этого узла. |
2 |
CreateAttribute (String) Создает XmlAttribute с указанным именем. |
3 |
CreateComment Создает XmlComment, содержащий указанные данные. |
4 |
CreateDefaultAttribute Создает атрибут по умолчанию с указанным префиксом, локальным именем и URI пространства имен. |
5 |
CreateElement (String) Создает элемент с указанным именем. |
6 |
CreateNode (String, String, String) Создает XmlNode с указанным типом узла, Name и NamespaceURI. |
7 |
CreateNode (XmlNodeType, String, String) Создает XmlNode с указанными XmlNodeType, Name и NamespaceURI. |
8 |
CreateNode (XmlNodeType, String, String, String) Создает XmlNode с указанным XmlNodeType, Prefix, Name и NamespaceURI. |
9 |
CreateProcessingInstruction Создает XmlProcessingInstruction с указанным именем и данными. |
10 |
CreateSignificantWhitespace Создает узел XmlSignificantWhitespace. |
11 |
CreateTextNode Создает XmlText с указанным текстом. |
12 |
CreateWhitespace Создает узел XmlWhitespace. |
13 |
CreateXmlDeclaration Создает узел XmlDeclaration с указанными значениями. |
14 |
GetElementById Получает XmlElement с указанным идентификатором. |
15 |
GetElementsByTagName (String) Возвращает XmlNodeList, содержащий список всех элементов-потомков, соответствующих указанному Имени. |
16 |
GetElementsByTagName (String, String) Возвращает XmlNodeList, содержащий список всех элементов-потомков, которые соответствуют указанным LocalName и NamespaceURI. |
17 |
InsertAfter Вставляет указанный узел сразу после указанного ссылочного узла. |
18 |
InsertBefore Вставляет указанный узел непосредственно перед указанным ссылочным узлом. |
19 |
Нагрузка (поток) Загружает XML-документ из указанного потока. |
20 |
Load (String) Загружает документ XML с указанного URL. |
21 |
Нагрузка (ЧтениеТекст) Загружает документ XML из указанного TextReader. |
22 |
Нагрузка (XmlReader) Загружает документ XML из указанного XmlReader. |
23 |
LoadXml Загружает документ XML из указанной строки. |
24 |
PrependChild Добавляет указанный узел в начало списка дочерних узлов для этого узла. |
25 |
ReadNode Создает объект XmlNode на основе информации в XmlReader. Считыватель должен быть расположен на узле или атрибуте. |
26 |
Удалить все Удаляет все дочерние узлы и / или атрибуты текущего узла. |
27 |
RemoveChild Удаляет указанный дочерний узел. |
28 |
ReplaceChild Заменяет дочерний узел oldChild на узел newChild. |
29 |
Save (Stream) Сохраняет XML-документ в указанном потоке. |
30 |
Save (String) Сохраняет документ XML в указанный файл. |
31 |
Сохранить (TextWriter) Сохраняет XML-документ в указанный TextWriter. |
32 |
Save (XmlWriter) Сохраняет документ XML в указанном XmlWriter. |
AppendChild
Добавляет указанный узел в конец списка дочерних узлов этого узла.
CreateAttribute (String)
Создает XmlAttribute с указанным именем.
CreateComment
Создает XmlComment, содержащий указанные данные.
CreateDefaultAttribute
Создает атрибут по умолчанию с указанным префиксом, локальным именем и URI пространства имен.
CreateElement (String)
Создает элемент с указанным именем.
CreateNode (String, String, String)
Создает XmlNode с указанным типом узла, Name и NamespaceURI.
CreateNode (XmlNodeType, String, String)
Создает XmlNode с указанными XmlNodeType, Name и NamespaceURI.
CreateNode (XmlNodeType, String, String, String)
Создает XmlNode с указанным XmlNodeType, Prefix, Name и NamespaceURI.
CreateProcessingInstruction
Создает XmlProcessingInstruction с указанным именем и данными.
CreateSignificantWhitespace
Создает узел XmlSignificantWhitespace.
CreateTextNode
Создает XmlText с указанным текстом.
CreateWhitespace
Создает узел XmlWhitespace.
CreateXmlDeclaration
Создает узел XmlDeclaration с указанными значениями.
GetElementById
Получает XmlElement с указанным идентификатором.
GetElementsByTagName (String)
Возвращает XmlNodeList, содержащий список всех элементов-потомков, соответствующих указанному Имени.
GetElementsByTagName (String, String)
Возвращает XmlNodeList, содержащий список всех элементов-потомков, которые соответствуют указанным LocalName и NamespaceURI.
InsertAfter
Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore
Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
Нагрузка (поток)
Загружает XML-документ из указанного потока.
Load (String)
Загружает документ XML с указанного URL.
Нагрузка (ЧтениеТекст)
Загружает документ XML из указанного TextReader.
Нагрузка (XmlReader)
Загружает документ XML из указанного XmlReader.
LoadXml
Загружает документ XML из указанной строки.
PrependChild
Добавляет указанный узел в начало списка дочерних узлов для этого узла.
ReadNode
Создает объект XmlNode на основе информации в XmlReader. Считыватель должен быть расположен на узле или атрибуте.
Удалить все
Удаляет все дочерние узлы и / или атрибуты текущего узла.
RemoveChild
Удаляет указанный дочерний узел.
ReplaceChild
Заменяет дочерний узел oldChild на узел newChild.
Save (Stream)
Сохраняет XML-документ в указанном потоке.
Save (String)
Сохраняет документ XML в указанный файл.
Сохранить (TextWriter)
Сохраняет XML-документ в указанный TextWriter.
Save (XmlWriter)
Сохраняет документ XML в указанном XmlWriter.
Пример 3
В этом примере давайте вставим некоторые новые узлы в XML-документhors author.xml, а затем отобразим имена всех авторов в списке.
Сделайте следующие шаги —
-
Добавьте файлhors.xml в папку bin / Debug вашего приложения (он должен быть там, если вы попробовали последний пример)
-
Импортируйте пространство имен System.Xml
-
Добавьте поле со списком и элемент управления кнопки в форме и установите для свойства текста элемента управления кнопки значение Показать авторов.
-
Добавьте следующий код, используя редактор кода.
Добавьте файлhors.xml в папку bin / Debug вашего приложения (он должен быть там, если вы попробовали последний пример)
Импортируйте пространство имен System.Xml
Добавьте поле со списком и элемент управления кнопки в форме и установите для свойства текста элемента управления кнопки значение Показать авторов.
Добавьте следующий код, используя редактор кода.
Imports System.Xml Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ListBox1.Items.Clear() Dim xd As XmlDocument = New XmlDocument() xd.Load("authors.xml") Dim newAuthor As XmlElement = xd.CreateElement("author") newAuthor.SetAttribute("code", "6") Dim fn As XmlElement = xd.CreateElement("fname") fn.InnerText = "Bikram" newAuthor.AppendChild(fn) Dim ln As XmlElement = xd.CreateElement("lname") ln.InnerText = "Seth" newAuthor.AppendChild(ln) xd.DocumentElement.AppendChild(newAuthor) Dim tr As XmlTextWriter = New XmlTextWriter("movies.xml", Nothing) tr.Formatting = Formatting.Indented xd.WriteContentTo(tr) tr.Close() Dim nl As XmlNodeList = xd.GetElementsByTagName("fname") For Each node As XmlNode In nl ListBox1.Items.Add(node.InnerText) Next node End Sub End Class
-
Выполните и запустите приведенный выше код с помощью кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio. Нажатие на кнопку «Показать автора» отобразит имена всех авторов, включая того, который мы добавили во время выполнения.
Выполните и запустите приведенный выше код с помощью кнопки « Пуск» , доступной на панели инструментов Microsoft Visual Studio. Нажатие на кнопку «Показать автора» отобразит имена всех авторов, включая того, который мы добавили во время выполнения.
VB.Net — веб-программирование
Динамическое веб-приложение состоит из одного или обоих из следующих двух типов программ:
-
Сценарии на стороне сервера — это программы, выполняемые на веб-сервере и написанные с использованием языков сценариев на стороне сервера, таких как ASP (страницы активного сервера) или JSP (страницы сервера Java).
-
Сценарии на стороне клиента — это программы, выполняемые в браузере, написанные с использованием языков сценариев, таких как JavaScript, VBScript и т. Д.
Сценарии на стороне сервера — это программы, выполняемые на веб-сервере и написанные с использованием языков сценариев на стороне сервера, таких как ASP (страницы активного сервера) или JSP (страницы сервера Java).
Сценарии на стороне клиента — это программы, выполняемые в браузере, написанные с использованием языков сценариев, таких как JavaScript, VBScript и т. Д.
ASP.Net — это .Net-версия ASP, представленная Microsoft, для создания динамических веб-страниц с использованием серверных сценариев. Приложения ASP.Net представляют собой скомпилированные коды, написанные с использованием расширяемых и повторно используемых компонентов или объектов, присутствующих в .Net Framework. Эти коды могут использовать всю иерархию классов в .Net Framework.
Коды приложений ASP.Net могут быть написаны на одном из следующих языков —
-
Visual Basic .Net
-
C #
-
Jscript
-
J #
Visual Basic .Net
C #
Jscript
J #
В этой главе мы дадим очень краткое введение в написание приложений ASP.Net с использованием VB.Net. Для подробного обсуждения, пожалуйста, обратитесь к учебнику ASP.Net.
ASP.Net Встроенные объекты
ASP.Net имеет несколько встроенных объектов, которые работают на веб-сервере. Эти объекты имеют методы, свойства и коллекции, которые используются при разработке приложений.
В следующей таблице перечислены встроенные объекты ASP.Net с кратким описанием.
Sr.No. | Объект и описание |
---|---|
1 |
заявка Описывает методы, свойства и коллекции объекта, в котором хранится информация, относящаяся ко всему веб-приложению, включая переменные и объекты, существующие на протяжении всего жизненного цикла приложения. Этот объект используется для хранения и извлечения информации, которая будет использоваться всеми пользователями приложения. Например, вы можете использовать объект Application для создания страницы электронной коммерции. |
2 |
Запрос Описывает методы, свойства и коллекции объекта, в котором хранится информация, относящаяся к HTTP-запросу. Это включает в себя формы, куки, серверные переменные и данные сертификата. Этот объект используется для доступа к информации, отправленной в запросе из браузера на сервер. Например, вы можете использовать объект Request для доступа к информации, введенной пользователем в форме HTML. |
3 |
отклик Описывает методы, свойства и коллекции объекта, в котором хранится информация, связанная с ответом сервера. Это включает в себя отображение содержимого, манипулирование заголовками, настройку локалей и перенаправление запросов. Этот объект используется для отправки информации в браузер. Например, вы используете объект Response для отправки вывода из ваших скриптов в браузер. |
4 |
сервер Описывает методы и свойства объекта, который предоставляет методы для различных серверных задач. С помощью этих методов вы можете выполнять код, получать условия ошибок, кодировать текстовые строки, создавать объекты для использования веб-страницей и отображать физические пути. Этот объект используется для доступа к различным служебным функциям на сервере. Например, вы можете использовать объект Server, чтобы установить тайм-аут для скрипта. |
5 |
сессия Описывает методы, свойства и коллекции объекта, в котором хранится информация, относящаяся к сеансу пользователя, включая переменные и объекты, существующие в течение всего времени сеанса. Этот объект используется для хранения и получения информации о конкретных пользовательских сеансах. Например, вы можете использовать объект Session для хранения информации о пользователе и его предпочтениях, а также для отслеживания ожидающих операций. |
заявка
Описывает методы, свойства и коллекции объекта, в котором хранится информация, относящаяся ко всему веб-приложению, включая переменные и объекты, существующие на протяжении всего жизненного цикла приложения.
Этот объект используется для хранения и извлечения информации, которая будет использоваться всеми пользователями приложения. Например, вы можете использовать объект Application для создания страницы электронной коммерции.
Запрос
Описывает методы, свойства и коллекции объекта, в котором хранится информация, относящаяся к HTTP-запросу. Это включает в себя формы, куки, серверные переменные и данные сертификата.
Этот объект используется для доступа к информации, отправленной в запросе из браузера на сервер. Например, вы можете использовать объект Request для доступа к информации, введенной пользователем в форме HTML.
отклик
Описывает методы, свойства и коллекции объекта, в котором хранится информация, связанная с ответом сервера. Это включает в себя отображение содержимого, манипулирование заголовками, настройку локалей и перенаправление запросов.
Этот объект используется для отправки информации в браузер. Например, вы используете объект Response для отправки вывода из ваших скриптов в браузер.
сервер
Описывает методы и свойства объекта, который предоставляет методы для различных серверных задач. С помощью этих методов вы можете выполнять код, получать условия ошибок, кодировать текстовые строки, создавать объекты для использования веб-страницей и отображать физические пути.
Этот объект используется для доступа к различным служебным функциям на сервере. Например, вы можете использовать объект Server, чтобы установить тайм-аут для скрипта.
сессия
Описывает методы, свойства и коллекции объекта, в котором хранится информация, относящаяся к сеансу пользователя, включая переменные и объекты, существующие в течение всего времени сеанса.
Этот объект используется для хранения и получения информации о конкретных пользовательских сеансах. Например, вы можете использовать объект Session для хранения информации о пользователе и его предпочтениях, а также для отслеживания ожидающих операций.
Модель программирования ASP.Net
ASP.Net предоставляет два типа моделей программирования —
-
Веб-формы — это позволяет создавать пользовательский интерфейс и логику приложения, которые будут применяться к различным компонентам пользовательского интерфейса.
-
Службы WCF — это позволяет вам получить удаленный доступ к некоторым функциям на стороне сервера.
Веб-формы — это позволяет создавать пользовательский интерфейс и логику приложения, которые будут применяться к различным компонентам пользовательского интерфейса.
Службы WCF — это позволяет вам получить удаленный доступ к некоторым функциям на стороне сервера.
Для этой главы вам нужно использовать Visual Studio Web Developer, которая бесплатна. IDE почти такая же, как вы уже использовали для создания приложений Windows.
Веб-формы
Веб-форма состоит из —
-
Пользовательский интерфейс
-
Логика применения
Пользовательский интерфейс
Логика применения
Пользовательский интерфейс состоит из статических элементов HTML или XML и серверных элементов управления ASP.Net. При создании веб-приложения элементы HTML или XML и серверные элементы управления сохраняются в файле с расширением .aspx . Этот файл также называется файлом подкачки.
Логика приложения состоит из кода, примененного к элементам пользовательского интерфейса на странице. Вы пишете этот код на любом языке .Net, например, VB.Net или C #. На следующем рисунке показана веб-форма в режиме конструктора.
пример
Давайте создадим новый веб-сайт с веб-формой, которая будет показывать текущую дату и время, когда пользователь нажимает кнопку. Сделайте следующие шаги —
-
Выберите Файл → Создать → Веб-сайт. Откроется диалоговое окно «Новый веб-сайт».
Выберите Файл → Создать → Веб-сайт. Откроется диалоговое окно «Новый веб-сайт».
-
Выберите шаблоны пустых веб-сайтов ASP.Net. Введите имя для веб-сайта и выберите место для сохранения файлов.
-
Вам нужно добавить страницу Default на сайт. Щелкните правой кнопкой мыши имя веб-сайта в обозревателе решений и выберите пункт «Добавить новый элемент» в контекстном меню. Откроется диалоговое окно Add New Item —
Выберите шаблоны пустых веб-сайтов ASP.Net. Введите имя для веб-сайта и выберите место для сохранения файлов.
Вам нужно добавить страницу Default на сайт. Щелкните правой кнопкой мыши имя веб-сайта в обозревателе решений и выберите пункт «Добавить новый элемент» в контекстном меню. Откроется диалоговое окно Add New Item —
-
Выберите опцию веб-формы и укажите имя для страницы по умолчанию. Мы сохранили его как Default.aspx. Нажмите кнопку Добавить.
-
Страница по умолчанию отображается в виде источника
Выберите опцию веб-формы и укажите имя для страницы по умолчанию. Мы сохранили его как Default.aspx. Нажмите кнопку Добавить.
Страница по умолчанию отображается в виде источника
-
Установите заголовок для веб-страницы по умолчанию, добавив значение в тег <Title> страницы в представлении «Исходный код» —
-
Чтобы добавить элементы управления на веб-страницу, перейдите в представление дизайна. Добавьте три метки, текстовое поле и кнопку на форме.
Установите заголовок для веб-страницы по умолчанию, добавив значение в тег <Title> страницы в представлении «Исходный код» —
Чтобы добавить элементы управления на веб-страницу, перейдите в представление дизайна. Добавьте три метки, текстовое поле и кнопку на форме.
-
Дважды нажмите кнопку и добавьте следующий код к событию Click кнопки —
Дважды нажмите кнопку и добавьте следующий код к событию Click кнопки —
Protected Sub Button1_Click(sender As Object, e As EventArgs) _ Handles Button1.Click Label2.Visible = True Label2.Text = "Welcome to Tutorials Point: " + TextBox1.Text Label3.Text = "You visited us at: " + DateTime.Now.ToString() End Sub
Когда приведенный выше код выполняется и запускается с помощью кнопки «Пуск», доступной на панели инструментов Microsoft Visual Studio, в браузере открывается следующая страница:
Введите свое имя и нажмите кнопку «Отправить» —
Веб-сервисы
Веб-сервис — это веб-приложение, которое представляет собой класс, состоящий из методов, которые могут использоваться другими приложениями. Он также следует архитектуре с выделенным кодом, такой как веб-страницы ASP.Net, хотя и не имеет пользовательского интерфейса.
В предыдущих версиях .Net Framework использовалась эта концепция веб-службы ASP.Net с расширением файла .asmx. Однако начиная с .Net Framework 4.0 технология Windows Communication Foundation (WCF) превратилась в нового преемника веб-служб, .Net Remoting и некоторых других смежных технологий. Он скорее объединил все эти технологии вместе. В следующем разделе мы представим краткое введение в Windows Communication Foundation (WCF).
Если вы используете предыдущие версии .Net Framework, вы все равно можете создавать традиционные веб-сервисы. Пожалуйста, обратитесь к ASP.Net — учебник веб-служб для подробного описания.
Windows Communication Foundation
Windows Communication Foundation или WCF предоставляет API для создания распределенных сервис-ориентированных приложений, известных как службы WCF.
Как и веб-службы, службы WCF также обеспечивают связь между приложениями. Однако, в отличие от веб-сервисов, связь здесь не ограничивается только HTTP. WCF можно настроить для использования через HTTP, TCP, IPC и очереди сообщений. Еще одна сильная сторона в пользу WCF заключается в том, что он обеспечивает поддержку дуплексной связи, тогда как с помощью веб-сервисов мы можем добиться только односторонней связи.
С точки зрения начинающих, написание службы WCF не так уж и отличается от написания веб-службы. Для простоты мы увидим, как
-
Создать службу WCF
-
Создать сервисный контракт и определить операции
-
Выполнить договор
-
Протестируйте Сервис
-
Воспользуйтесь услугой
Создать службу WCF
Создать сервисный контракт и определить операции
Выполнить договор
Протестируйте Сервис
Воспользуйтесь услугой
пример
Чтобы понять концепцию, давайте создадим упрощенный сервис, который будет предоставлять информацию о цене акций. Клиенты могут запросить название и цену акции на основе символа акции. Для простоты этого примера значения жестко закодированы в двумерном массиве. Этот сервис будет иметь два метода —
-
Метод GetPrice — возвращает цену акции, основываясь на предоставленном символе.
-
Метод GetName — он возвращает название акции на основе предоставленного символа.
Метод GetPrice — возвращает цену акции, основываясь на предоставленном символе.
Метод GetName — он возвращает название акции на основе предоставленного символа.
Создание службы WCF
Сделайте следующие шаги —
-
Open VS Express для Web 2012
-
Выберите Новый веб-сайт, чтобы открыть диалоговое окно «Новый веб-сайт».
-
Выберите шаблон службы WCF из списка шаблонов —
Open VS Express для Web 2012
Выберите Новый веб-сайт, чтобы открыть диалоговое окно «Новый веб-сайт».
Выберите шаблон службы WCF из списка шаблонов —
-
Выберите «Файловая система» в раскрывающемся списке веб-местоположения.
-
Укажите имя и местоположение службы WCF и нажмите «ОК».
-
Новая служба WCF создана.
Выберите «Файловая система» в раскрывающемся списке веб-местоположения.
Укажите имя и местоположение службы WCF и нажмите «ОК».
Новая служба WCF создана.
Создание сервисного контракта и определение операций
Договор на обслуживание определяет операцию, которую выполняет служба. В приложении службы WCF вы найдете два файла, автоматически созданные в папке App_Code в обозревателе решений.
-
IService.vb — это будет иметь договор на обслуживание; Проще говоря, он будет иметь интерфейс для службы с определениями методов, которые служба предоставит, которые вы будете внедрять в свою службу.
-
Service.vb — это будет реализовывать сервисный контракт.
IService.vb — это будет иметь договор на обслуживание; Проще говоря, он будет иметь интерфейс для службы с определениями методов, которые служба предоставит, которые вы будете внедрять в свою службу.
Service.vb — это будет реализовывать сервисный контракт.
-
Замените код файла IService.vb на данный код —
Замените код файла IService.vb на данный код —
Public Interface IService <OperationContract()> Function GetPrice(ByVal symbol As String) As Double <OperationContract()> Function GetName(ByVal symbol As String) As String End Interface
Реализация контракта
В файле Service.vb вы найдете класс с именем Service, который будет реализовывать контракт на обслуживание, определенный в интерфейсе IService .
Замените код IService.vb следующим кодом —
' NOTE: You can use the "Rename" command on the context menu to change the class name "Service" in code, svc and config file together. Public Class Service Implements IService Public Sub New() End Sub Dim stocks As String(,) = { {"RELIND", "Reliance Industries", "1060.15"}, {"ICICI", "ICICI Bank", "911.55"}, {"JSW", "JSW Steel", "1201.25"}, {"WIPRO", "Wipro Limited", "1194.65"}, {"SATYAM", "Satyam Computers", "91.10"} } Public Function GetPrice(ByVal symbol As String) As Double _ Implements IService.GetPrice Dim i As Integer 'it takes the symbol as parameter and returns price For i = 0 To i = stocks.GetLength(0) - 1 If (String.Compare(symbol, stocks(i, 0)) = 0) Then Return Convert.ToDouble(stocks(i, 2)) End If Next i Return 0 End Function Public Function GetName(ByVal symbol As String) As String _ Implements IService.GetName ' It takes the symbol as parameter and ' returns name of the stock Dim i As Integer For i = 0 To i = stocks.GetLength(0) - 1 If (String.Compare(symbol, stocks(i, 0)) = 0) Then Return stocks(i, 1) End If Next i Return "Stock Not Found" End Function End Class
Тестирование Сервиса
Для запуска службы WCF, созданной таким образом, выберите пункт «Отладка → Начать отладку» в строке меню. Выход будет —
Для тестирования сервисных операций дважды щелкните по названию операции в дереве на левой панели. Новая вкладка появится на правой панели.
Введите значение параметров в области «Запрос» на правой панели и нажмите кнопку «Вызвать».
На следующей диаграмме показан результат тестирования операции GetPrice —
На следующей диаграмме показан результат тестирования операции GetName —
Используя Сервис
Давайте добавим страницу по умолчанию, веб-форму ASP.NET в то же решение, из которого мы будем использовать только что созданную службу WCF.
Сделайте следующие шаги —
-
Щелкните правой кнопкой мыши имя решения в обозревателе решений и добавьте в него новую веб-форму. Он будет называться Default.aspx.
-
Добавьте две метки, текстовое поле и кнопку на форме.
Щелкните правой кнопкой мыши имя решения в обозревателе решений и добавьте в него новую веб-форму. Он будет называться Default.aspx.
Добавьте две метки, текстовое поле и кнопку на форме.
-
Нам нужно добавить ссылку на службу в только что созданную службу WCF. Щелкните правой кнопкой мыши веб-сайт в обозревателе решений и выберите параметр «Добавить справочник услуг». Откроется диалоговое окно Add Service Reference.
-
Введите URL-адрес (местоположение) службы в текстовом поле «Адрес» и нажмите кнопку «Перейти». Он создает ссылку на службу с именем по умолчанию ServiceReference1 . Нажмите кнопку ОК.
Нам нужно добавить ссылку на службу в только что созданную службу WCF. Щелкните правой кнопкой мыши веб-сайт в обозревателе решений и выберите параметр «Добавить справочник услуг». Откроется диалоговое окно Add Service Reference.
Введите URL-адрес (местоположение) службы в текстовом поле «Адрес» и нажмите кнопку «Перейти». Он создает ссылку на службу с именем по умолчанию ServiceReference1 . Нажмите кнопку ОК.
Добавление ссылки делает две работы для вашего проекта —
Создает адрес и привязку для службы в файле web.config.
Создает прокси-класс для доступа к сервису.
Дважды щелкните кнопку «Получить цену» в форме, чтобы ввести следующий фрагмент кода для события «Клик» —
Когда приведенный выше код выполняется и запускается с помощью кнопки «Пуск», доступной на панели инструментов Microsoft Visual Studio, в браузере открывается следующая страница:
Введите символ и нажмите кнопку «Получить цену», чтобы получить жестко запрограммированную цену —