Объявление переменной в Visual BasicVariable Declaration in Visual Basic

Переменная объявляется для указания ее имени и характеристик.You declare a variable to specify its name and characteristics. Оператор объявления для переменных является оператором Dim.The declaration statement for variables is the Dim Statement. Его расположение и содержимое определяют характеристики переменной.Its location and contents determine the variable's characteristics.

Правила именования переменных и рекомендации см. в разделе Имена объявленных элементов.For variable naming rules and considerations, see Declared Element Names.

Уровни объявленияDeclaration Levels

Локальные и переменные членовLocal and Member Variables

Локальная переменная — это одна из процедур, объявленная в процедуре.A local variable is one that is declared within a procedure. Переменная-член является членом типа Visual Basic; Он объявляется на уровне модуля, внутри класса, структуры или модуля, но не внутри какой-либо процедуры, внутренней для этого класса, структуры или модуля.A member variable is a member of a Visual Basic type; it is declared at module level, inside a class, structure, or module, but not within any procedure internal to that class, structure, or module.

Переменные Shared и instanceShared and Instance Variables

В классе или структуре категория переменной-члена зависит от того, является ли она общей.In a class or structure, the category of a member variable depends on whether or not it is shared. Если он объявлен с ключевым словом Shared , то это Общая переменная, которая существует в одной копии, совместно используемой всеми экземплярами класса или структуры.If it is declared with the Shared keyword, it is a shared variable, and it exists in a single copy shared among all instances of the class or structure.

В противном случае это переменная экземпляра, и ее отдельная копия создается для каждого экземпляра класса или структуры.Otherwise it is an instance variable, and a separate copy of it is created for each instance of the class or structure. Данная копия переменной экземпляра доступна только для экземпляра класса или структуры, в которой он был создан.A given copy of an instance variable is available only to the instance of the class or structure in which it was created. Он не зависит от копии переменной экземпляра в любом другом экземпляре класса или структуры.It is independent of a copy of the instance variable in any other instance of the class or structure.

Объявление типа данныхDeclaring Data Type

Предложение as в операторе объявления позволяет определить тип данных или тип объекта объявляемой переменной.The As clause in the declaration statement allows you to define the data type or object type of the variable you are declaring. Для переменной можно указать любой из следующих типов:You can specify any of the following types for a variable:

  • Простейший тип данных, например Boolean , Long или DecimalAn elementary data type, such as Boolean, Long, or Decimal

  • Составной тип данных, например массив или структураA composite data type, such as an array or structure

  • Тип объекта или класс, определенный либо в приложении, либо в другом приложенииAn object type, or class, defined either in your application or in another application

  • Класс .NET Framework, например Label или TextBoxA .NET Framework class, such as Label or TextBox

  • Тип интерфейса, например IComparable или IDisposableAn interface type, such as IComparable or IDisposable

В одной инструкции можно объявить несколько переменных без повторения типа данных.You can declare several variables in one statement without having to repeat the data type. В следующих инструкциях переменные i , j и k объявляются как тип Integer , и l m как, и и, Long x y как Single :In the following statements, the variables i, j, and k are declared as type Integer, l and m as Long, and x and y as Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Дополнительные сведения о типах данных см. в разделе типы данных.For more information on data types, see Data Types. Дополнительные сведения об объектах см. в разделе объекты и классы и программирование с помощью компонентов.For more information on objects, see Objects and Classes and Programming with Components.

Вывод локального типаLocal Type Inference

Определение типа используется для определения типов данных локальных переменных, объявленных без As предложения.Type inference is used to determine the data types of local variables declared without an As clause. Компилятор выводит тип переменной из типа выражения инициализации.The compiler infers the type of the variable from the type of the initialization expression. Это позволяет объявлять переменные без явного указания типа.This enables you to declare variables without explicitly stating a type. В следующем примере оба типа num1 и num2 строго типизированы как целые числа.In the following example, both num1 and num2 are strongly typed as integers.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Если требуется использовать вывод локального типа, Option Infer необходимо задать значение On .If you want to use local type inference, Option Infer must be set to On. Дополнительные сведения см. в разделах Вывод локального типа и Оператор Option Infer.For more information, see Local Type Inference and Option Infer Statement.

Характеристики объявленных переменныхCharacteristics of Declared Variables

Время существования переменной — это период времени, в течение которого она доступна для использования.The lifetime of a variable is the period of time during which it is available for use. Как правило, переменная существует, пока не будет существовать элемент, объявляющий ее (например, процедуру или класс).In general, a variable exists as long as the element that declares it (such as a procedure or class) continues to exist. Если переменная не должна продолжаться за пределами времени существования содержащего его элемента, не нужно делать ничего особенного в объявлении.If the variable does not need to continue existing beyond the lifetime of its containing element, you do not need to do anything special in the declaration. Если переменная должна продолжать существовать дольше, чем содержащая ее элемент, можно включить Static Shared ключевое слово или в Dim инструкцию.If the variable needs to continue to exist longer than its containing element, you can include the Static or Shared keyword in its Dim statement. Дополнительные сведения см. в разделе время существования в Visual Basic.For more information, see Lifetime in Visual Basic.

Областью действия переменной является набор всего кода, который может ссылаться на него без уточнения его имени.The scope of a variable is the set of all code that can refer to it without qualifying its name. Область переменной определяется тем, где она объявлена.A variable's scope is determined by where it is declared. Код, расположенный в данном регионе, может использовать переменные, определенные в этом регионе, без уточнения их имен.Code located in a given region can use the variables defined in that region without having to qualify their names. Для получения дополнительной информации см. Scope in Visual Basic.For more information, see Scope in Visual Basic.

Уровень доступа переменной — это область кода, имеющая разрешение на доступ к нему.A variable's access level is the extent of code that has permission to access it. Это определяется модификатором доступа (например, открытым или закрытым), который используется в Dim инструкции.This is determined by the access modifier (such as Public or Private) that you use in the Dim statement. Дополнительные сведения см. в разделе уровни доступа в Visual Basic.For more information, see Access levels in Visual Basic.

См. такжеSee also