Учебники

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

пример

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

Live Demo

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.

пример

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

Live Demo

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

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