Типы переменных vb net

Типы переменных 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 для положительных значений

пример

В следующем примере демонстрируется использование некоторых типов:

Когда приведенный выше код компилируется и выполняется, он дает следующий результат –

Функции преобразования типов в VB.Net

VB.Net предоставляет следующие встроенные функции преобразования типов –

Sr.No. Функции и описание
1

Преобразует выражение в логический тип данных.

Преобразует выражение в тип данных Byte.

Преобразует выражение в тип данных Char.

Преобразует выражение в тип данных Date

Преобразует выражение в тип данных Double.

Преобразует выражение в тип данных Decimal.

Преобразует выражение в тип данных Integer.

Преобразует выражение в тип данных Long.

Преобразует выражение в тип объекта.

Преобразует выражение в тип данных SByte.

Преобразует выражение в тип данных Short.

Преобразует выражение в тип данных Single.

Преобразует выражение в тип данных String.

Преобразует выражение в тип данных UInt.

Преобразует выражение в тип данных ULng.

Преобразует выражение в тип данных UShort.

Преобразует выражение в логический тип данных.

Преобразует выражение в тип данных Byte.

Преобразует выражение в тип данных Char.

Преобразует выражение в тип данных Date

Преобразует выражение в тип данных Double.

Преобразует выражение в тип данных Decimal.

Преобразует выражение в тип данных Integer.

Преобразует выражение в тип данных Long.

Преобразует выражение в тип объекта.

Преобразует выражение в тип данных SByte.

Преобразует выражение в тип данных Short.

Читайте также:  Телефоны самсунг с двойной камерой

Преобразует выражение в тип данных Single.

Преобразует выражение в тип данных String.

Преобразует выражение в тип данных UInt.

Преобразует выражение в тип данных ULng.

Преобразует выражение в тип данных UShort.

пример

В следующем примере демонстрируются некоторые из этих функций:

Когда приведенный выше код компилируется и выполняется, он дает следующий результат –

В следующей таблице показаны типы данных Visual Basic, Поддерживаемые типы среды CLR, их номинальное выделение памяти и диапазоны значений. The following table shows the Visual Basic data types, their supporting common language runtime types, their nominal storage allocation, and their value ranges.

Тип Visual Basic Visual Basic type Структура типа среды CLR Common language runtime type structure Номинальное выделение памяти Nominal storage allocation Диапазон значений Value range
Boolean Boolean Boolean Зависит от реализации платформы Depends on implementing platform True или False True or False
Byte Byte Byte 1 байт 1 byte от 0 до 255 (без знака) 0 through 255 (unsigned)
Char (одиночный символ) Char (single character) Char 2 байта 2 bytes от 0 до 65535 (без знака) 0 through 65535 (unsigned)
Date Date DateTime 8 байт 8 bytes 0:00:00 (полночь) 1 января 0001 г. по 11:59:59 – 31 декабря 9999 0:00:00 (midnight) on January 1, 0001 through 11:59:59 PM on December 31, 9999
Decimal Decimal Decimal 16 байт 16 bytes от 0 до +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9. E + 28) † без десятичной запятой; от 0 до +/-7.9228162514264337593543950335 с 28 разрядами справа от десятичного разделителя; 0 through +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9. E+28) † with no decimal point; 0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal;

наименьшее ненулевое число — +/-0,0000000000000000000000000001 (+/-1E-28) † smallest nonzero number is +/-0.0000000000000000000000000001 (+/-1E-28) †

Double (число с плавающей запятой двойной точности) Double (double-precision floating-point) Double 8 байт 8 bytes -1.79769313486231570 e + 308 до-4.94065645841246544 E-324 † для отрицательных значений; -1.79769313486231570E+308 through -4.94065645841246544E-324 † for negative values;

4.94065645841246544 e-324 до 1.79769313486231570 E + 308 † для положительных значений 4.94065645841246544E-324 through 1.79769313486231570E+308 † for positive values

Integer Integer Int32 4 байта 4 bytes от-2 147 483 648 до 2 147 483 647 (подписано) -2,147,483,648 through 2,147,483,647 (signed) Long (длинное целое) Long (long integer) Int64 8 байт 8 bytes от-9223372036854775808 до 9 223 372 036 854 775 807 (от а до 18 † ) (подписано) -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807 (9.2. E+18 † ) (signed) Объект Object Object (класс) Object (class) 4 байта на 32-разрядной платформе 4 bytes on 32-bit platform

8 байт на 64-разрядной платформе 8 bytes on 64-bit platform

Любой тип может храниться в переменной типа Object Any type can be stored in a variable of type Object SByte SByte SByte 1 байт 1 byte от-128 до 127 (подписано) -128 through 127 (signed) Short (короткое целое) Short (short integer) Int16 2 байта 2 bytes от-32 768 до 32 767 (подписано) -32,768 through 32,767 (signed) Single (с плавающей запятой одиночной точности) Single (single-precision floating-point) Single 4 байта 4 bytes -4028235E e + 38 – 1.401298 E-45 † для отрицательных значений; -3.4028235E+38 through -1.401298E-45 † for negative values;

1.401298 e-45 до 4028235E E + 38 † для положительных значений 1.401298E-45 through 3.4028235E+38 † for positive values

Строка (переменная длина) String (variable-length) String (класс) String (class) Зависит от реализации платформы Depends on implementing platform от 0 до приблизительно 2 000 000 000 символов Юникода 0 to approximately 2 billion Unicode characters UInteger UInteger UInt32 4 байта 4 bytes от 0 до 4 294 967 295 (без знака) 0 through 4,294,967,295 (unsigned) ULong ULong UInt64 8 байт 8 bytes от 0 до 18446744073709551615 (1.8. E + 19 † ) (без знака) 0 through 18,446,744,073,709,551,615 (1.8. E+19 † ) (unsigned) Определяемый пользователем (структура) User-Defined (structure) (наследуется от ValueType) (inherits from ValueType) Зависит от реализации платформы Depends on implementing platform Каждый элемент структуры имеет диапазон, определяемый типом данных и не зависящий от диапазонов других элементов. Each member of the structure has a range determined by its data type and independent of the ranges of the other members UShort UShort UInt16 2 байта 2 bytes от 0 до 65 535 (без знака) 0 through 65,535 (unsigned)
Читайте также:  Смартфон планшет и ноутбук в одном

† В экспоненциальном представлении"E" означает степень числа 10. † In scientific notation, "E" refers to a power of 10. Итак, 3.56 E + 2 означает 3,56 x 10 или 356, а 3.56 e-2 — 3,56/10 2 или 0,0356. So 3.56E+2 signifies 3.56 x 10 2 or 356, and 3.56E-2 signifies 3.56 / 10 2 or 0.0356.

Для строк, содержащих текст, используйте функцию StrConv для преобразования одного текстового формата в другой. For strings containing text, use the StrConv function to convert from one text format to another.

Помимо указания типа данных в операторе объявления, можно принудительно задать тип данных некоторых элементов программирования с помощью символа типа. In addition to specifying a data type in a declaration statement, you can force the data type of some programming elements by using a type character. См. раздел символы типа. See Type Characters.

Затраты памяти Memory Consumption

При объявлении простейшего типа данных нельзя считать, что его потребление памяти совпадает с номинальным выделением хранилища. When you declare an elementary data type, it is not safe to assume that its memory consumption is the same as its nominal storage allocation. Это обусловлено следующими соображениями. This is due to the following considerations:

Назначение хранилища. Storage Assignment. Среда CLR может назначать хранилище на основе текущих характеристик платформы, в которой выполняются приложения. The common language runtime can assign storage based on the current characteristics of the platform on which your application is executing. Если память почти заполнена, она может упаковать объявленные элементы как можно ближе друг к другу. If memory is nearly full, it might pack your declared elements as closely together as possible. В других случаях адреса памяти могут быть согласованы с естественными аппаратными границами для оптимизации производительности. In other cases it might align their memory addresses to natural hardware boundaries to optimize performance.

Ширина платформы. Platform Width. Назначение хранилища на 64-разрядной платформе отличается от назначения на 32-разрядной платформе. Storage assignment on a 64-bit platform is different from assignment on a 32-bit platform.

Составные типы данных Composite Data Types

Те же рекомендации применимы к каждому элементу составного типа данных, такому как структура или массив. The same considerations apply to each member of a composite data type, such as a structure or an array. Вы не можете полагаться на простое сложение номинальных выделений памяти для членов типа. You cannot rely on simply adding together the nominal storage allocations of the type’s members. Кроме того, существуют и другие рекомендации, например следующие: Furthermore, there are other considerations, such as the following:

За. Overhead. Некоторые составные типы предъявляют дополнительные требования к памяти. Some composite types have additional memory requirements. Например, массив использует дополнительную память для самого массива, а также для каждого измерения. For example, an array uses extra memory for the array itself and also for each dimension. На 32-разрядной платформе этот объем накладных расходов в настоящее время составляет 12 байт плюс 8 байт для каждого измерения. On a 32-bit platform, this overhead is currently 12 bytes plus 8 bytes for each dimension. На 64-разрядной платформе это требование удваивается. On a 64-bit platform this requirement is doubled.

Читайте также:  Html тег отступ слева

Структура хранилища. Storage Layout. Нельзя безопасно предположить, что порядок хранения в памяти совпадает с порядком объявления. You cannot safely assume that the order of storage in memory is the same as your order of declaration. Вы даже не можете делать предположения относительно выравнивания байтов, например 2-байтовой или 4-байтовой границы. You cannot even make assumptions about byte alignment, such as a 2-byte or 4-byte boundary. При определении класса или структуры и необходимости управления структурой хранения его элементов можно применить атрибут StructLayoutAttribute к классу или структуре. If you are defining a class or structure and you need to control the storage layout of its members, you can apply the StructLayoutAttribute attribute to the class or structure.

Издержки объекта Object Overhead

В Object , ссылающемся на любой простой или составной тип данных, в дополнение к данным, содержащимся в типе данных, используется 4 байта. An Object referring to any elementary or composite data type uses 4 bytes in addition to the data contained in the data type.

Переменные в VB.NET

Все переменные в VB.NET имеют свой тип. Каждый тип переменной полезен по своему. Самые главные типы переменных используемые в VB.NET :

  • Byte — целое число не имеющий знака, для хранения переменной отводится 1 байт, положительное(от 0 до 255)
  • Shotr — целое число, отводится 2 байта, короткое( от -32768 до 32767)
  • Boolean — логический тип( Истина(True) — Ложь(False)), для хранения переменной отводится 2 байта
  • Integer — обычное целое число(от -2147483648 до 2147483647), для хранения переменной отводиться 4 байта
  • String — строка, произвольный текст, чаще всего используемый
  • Date — дата и время
  • Double — десятичная дробь, двоичной точности
  • Long — целое число, длинное(от -9223372036854775808 до 9223372036854775807)
  • Single — десятичная дробь, обычная точность
  • Decimal — десятичная дробь длинная, абсолютной точности
  • Char — любой символ(из 65536 состоящий из букв, цифр, символов и других)

Типы переменных которые мы не будем пока использовать :

  • Enumerations — перечисления. Типов перечислений много и все с разными именами
  • Structures — структуры – пользовательские типы. Типов структур много и все с разными именами
  • Классы — типов классов огромное количество и все с разными именами.
  • Object — объект – всеобъемлющий тип-хамелеон

Переменные объявляются при помощи оператора Dim. Попробуем объявить переменную

— тут мы объявили переменную Str в типе String. За место Str — может быть любая буква или слово на русском или на английском.

— суть не изменилась, только так делать не прилично.

Объявим несколько переменных в одном типе :

Установим значение переменных одним оператором(иначе говоря объявили и установили значение) :

А можно сначала объявить, а впоследствии присвоить ей значение

— результат будет 20. Обычное сложение. Тут мы встретили новое для нас слово MsgBox про которое вы узнаете в этом уроке MessageBox.

Теперь осталась рассказать как и куда объявлять переменные : переменные можно объявить как для одной процедуры, так и для всех.

Ссылка на основную публикацию
Adblock detector