Переменная — это не что иное, как имя, данное области памяти, которой могут манипулировать наши программы. Каждая переменная в 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
Но следующее не является допустимым утверждением и может привести к ошибке во время компиляции —