Типы данных Visual Studio
Обновлено: 21.11.2024
Visual Basic распознает следующие пять категорий переменных:
Двумя основными категориями переменных являются числовые и строковые. Числовые переменные хранят числа, а строковые переменные хранят текст. Объектные переменные могут хранить данные любого типа. Зачем указывать тип, если один тип подходит всем? На первый взгляд использование объектных переменных может показаться хорошей идеей, но у них есть свои недостатки. Целочисленные переменные оптимизированы для хранения целых чисел, а переменные даты оптимизированы для хранения дат. Прежде чем VB сможет использовать объектную переменную, он должен определить ее тип и выполнить необходимые преобразования. Если переменная объявлена с определенным типом, эти преобразования не нужны.
Мы начинаем обсуждение типов переменных с числовых переменных. Текст хранится в строковых переменных, но числа могут храниться во многих форматах, в зависимости от размера числа и его точности. Вот почему существует множество типов числовых переменных. Типы данных String и Date намного богаче с точки зрения функциональности, которую они предоставляют, и более подробно обсуждаются в главе «Обработка строк, символов и дат».
Числовые переменные
Вы ожидаете, что языки программирования будут использовать один и тот же тип данных для чисел. Ведь число есть число. Но это не может быть дальше от истины. Все языки программирования предоставляют множество типов числовых данных, включая следующие:
- Целые числа (существует несколько типов целочисленных данных)
- Десятичные дроби
- Одиночные числа или числа с плавающей запятой с ограниченной точностью
- Двойные числа или числа с плавающей запятой с предельной точностью
Decimal, Single и Double — это три основных типа данных для хранения чисел с плавающей запятой (числа с дробной частью). Тип данных Double может представлять эти числа более точно, чем тип Single, и используется почти исключительно в научных вычислениях.
В типах данных Integer хранятся целые числа. Тип данных вашей переменной может повлиять на результаты вычислений. Правильные типы переменных определяются природой значений, которые они представляют, и выбор типа данных часто является компромиссом между точностью и скоростью выполнения (менее точные типы данных обрабатываются быстрее). Visual Basic поддерживает числовые типы данных, показанные в таблице 2.1. В столбце Тип данных я показываю имя каждого типа данных и соответствующее ключевое слово в скобках.
Visual Basic предоставляет несколько числовых типов данных для обработки чисел в различных представлениях. Целые типы представляют только целые числа (положительные, отрицательные и нулевые), а нецелые типы представляют числа как с целыми, так и с дробными частями.
Таблицу, показывающую параллельное сравнение типов данных Visual Basic, см. в разделе Типы данных.
Целые числовые типы
Целые типы данных — это те, которые представляют только числа без дробных частей.
Производительность
Арифметические операции с целочисленными типами выполняются быстрее, чем с другими типами данных. Они быстрее всего работают с типами Integer и UInteger в Visual Basic.
Большие целые числа
Если вам нужно хранить целое число, превышающее тип данных Integer, вы можете вместо этого использовать тип данных Long. Длинные переменные могут содержать числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Операции с Long немного медленнее, чем с Integer .
Если вам нужны еще большие значения, вы можете использовать десятичный тип данных. Вы можете хранить числа от -79 228 162 514 264 337 593 543 950 335 до 79 228 162 514 264 337 593 543 950 335 в переменной Decimal, если вы не используете десятичные знаки. Однако операции с десятичными числами выполняются значительно медленнее, чем с любым другим числовым типом данных.
Малые целые числа
Если вам не нужен полный диапазон данных типа Integer, вы можете использовать тип данных Short, который может содержать целые числа от -32 768 до 32 767. Для наименьшего целочисленного диапазона тип данных SByte содержит целые числа от -128 до 127. Если у вас очень большое количество переменных, содержащих небольшие целые числа, среда CLR иногда может более эффективно хранить ваши переменные Short и SByte и экономить потребление памяти. . Однако операции с Short и SByte несколько медленнее, чем с Integer .
Целые числа без знака
Если вы знаете, что ваша переменная никогда не должна содержать отрицательное число, вы можете использовать типы без знака Byte , UShort , UInteger и ULong . Каждый из этих типов данных может содержать положительное целое число, в два раза превышающее соответствующий тип со знаком (SByte, Short, Integer и Long). С точки зрения производительности каждый беззнаковый тип точно так же эффективен, как и соответствующий ему знаковый тип. В частности, UInteger разделяет с Integer то, что является наиболее эффективным из всех элементарных числовых типов данных.
Нецелочисленные числовые типы
Нецелочисленные типы данных — это те, которые представляют числа как с целыми, так и с дробными частями.
Decimal не является типом данных с плавающей запятой. Десятичные числа имеют двоичное целое значение и целочисленный коэффициент масштабирования, указывающий, какая часть значения является десятичной дробью.
Вы можете использовать десятичные переменные для денежных значений. Преимуществом является точность значений. Тип данных Double быстрее и требует меньше памяти, но подвержен ошибкам округления. Тип данных Decimal сохраняет полную точность до 28 знаков после запятой.
Числа с плавающей запятой ( Single и Double ) имеют более широкий диапазон, чем десятичные числа, но могут быть подвержены ошибкам округления. Типы с плавающей запятой поддерживают меньше значащих цифр, чем Decimal, но могут представлять значения большей величины.
Нецелые числовые значения могут быть выражены как mmmEeee, где mmm — это мантисса (значащие цифры), а eee — это показатель степени (степень числа 10). Наибольшие положительные значения нецелочисленных типов: 7,9228162514264337593543950335E+28 для Decimal , 3,4028235E+38 для Single и 1,79769313486231570E+308 для Double .
Производительность
Double — наиболее эффективный из дробных типов данных, поскольку процессоры на современных платформах выполняют операции с плавающей запятой с двойной точностью. Однако операции с Double выполняются не так быстро, как с целочисленными типами, такими как Integer .
Небольшие величины
Для чисел с наименьшей возможной величиной (ближайшей к 0) переменные Double могут содержать числа от -4,94065645841246544E-324 для отрицательных значений и 4,94065645841246544E-324 для положительных значений.
Мелкие дробные числа
Если вам не нужен полный диапазон данных типа Double, вы можете использовать тип данных Single, который может содержать числа с плавающей запятой от -3,4028235E+38 до 3,4028235E+38. Наименьшие величины для одиночных переменных составляют -1,401298E-45 для отрицательных значений и 1,401298E-45 для положительных значений. Если у вас есть очень большое количество переменных, содержащих небольшие числа с плавающей запятой, среда CLR иногда может более эффективно хранить ваши переменные Single и экономить потребление памяти.
В Visual Basic типы данных полезны для определения типа данных, которые может хранить переменная, таких как целое число, число с плавающей запятой, строка и т. д., в нашем приложении.
Visual Basic — это строго типизированный язык программирования. Прежде чем выполнять какие-либо операции с переменной, необходимо определить переменную с требуемым типом данных, чтобы указать, какой тип данных может содержать переменная в нашем приложении.
Синтаксис определения типов данных Visual Basic
Ниже приведен синтаксис определения типов данных в Visual Basic.
Если вы соблюдаете приведенный выше синтаксис, мы добавили обязательный тип данных после имени переменной, чтобы сообщить компилятору о типе данных, которые может хранить переменная.
Элемент | Описание |
---|---|
Размер | Полезно объявить и выделить место для хранения одной или нескольких переменных. |
[Имя переменной] | Имя переменной для хранения значений в наше приложение. |
As | Предложение As в операторе объявления позволяет определить тип данных. |
[Тип данных] | t — это тип данных, которые может хранить переменная, например целое число, строка, десятичное число и т. д. |
[ Value] | Присвоение требуемого значения переменной. |
Типы данных в Visual Basic
В следующей таблице показаны доступные типы данных в визуальном базовом языке программирования с размером памяти и диапазоном значений.
Тип данных | Размер | Диапазон |
---|---|---|
Boolean | Это зависит от платформы. | True или False |
Byte | 1 byte< /td> | от 0 до 255 |
Char | 2 байта | от 0 до 65535 |
Дата | 8 байт | 00:00:00 с 01.01.01 по 23:59:59 31.12.9999 | < /tr>
Десятичный | 16 байт | (+ или -) от 1,0 x 10e-28 до 7,9 x 10e28 |
Double | 8 байт | -1,79769313486232e308 до 1,79769313486232e308 |
Целое число | 4 байты | -2,147,483,648 до 2,147,483,647 |
Long | 8 байт | -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 | >
Объект | 4 байта на 32-битной платформе, 8 байт на 64-битной платформе | Любой тип может храниться в переменная типа Object |
SByte | 1 байт | -128 to 127 |
Короткий | 2 байта | -32,768 до 32,767 |
Одиночный | 4 байта | -3,4028235E+38 через -1.401298E-45 † для отрицательных значений; 1.401298Е-45 по 3.4028235E+38 † для положительных значений |
String | Зависит от платформы | от 0 до приблизительно 2 миллиардов символов Unicode |
UInteger | 4 байта | от 0 до 4 294 967 295 |
ULong | < td>8 байтот 0 до 18 446 744 073 709 551 615 (1.8. E+19 †) | |
UShort | 2 байта | от 0 до 65 535 |
Определяется пользователем | Зависит от платформы | Каждый элемент структуры имеет диапазон, определяемый свой тип данных и не зависит от диапазонов других элементов |
Теперь мы увидим, как использовать типы данных в наших визуальных базовых приложениях с примерами.
Пример типов данных Visual Basic
Ниже приведен пример использования типов данных в Visual Basic.
Module Module1
Sub Main()
Dim id As Integer
Dim name As String = "Suresh Dasari"
Dim процент As Double = 10.23
Dim Gen As Char = "M"c
Dim isVerified As Boolean
/> isVerified = True
Console.WriteLine("Id:", id)
Console.WriteLine("Name: ", имя)
Console.WriteLine("Процент:", процент)
Console.WriteLine("Пол:", пол)
Console.WriteLine("Проверено:", isVerified) < br />Console.ReadLine()
End Sub
End Module
Приведенный выше пример показывает, что мы определили несколько переменных с разными типами данных и присвоили значения в соответствии с нашими требованиями.
Когда мы выполним приведенный выше пример, мы получим результат, как показано ниже.
Вот как мы можем использовать типы данных в приложениях Visual Basic в соответствии с нашими требованиями.
В этой части руководства по Visual Basic мы поговорим о типах данных.
Компьютерные программы работают с данными. Инструменты для работы с различными типами данных являются неотъемлемой частью современного компьютерного языка. Согласно определению Википедии, тип данных — это набор значений и допустимые операции над этими значениями.
Двумя основными типами данных в Visual Basic являются типы значений и ссылочные типы. Примитивные типы (кроме строк), перечисления и структуры являются типами значений. Классы, строки, стандартные модули, интерфейсы, массивы и делегаты являются ссылочными типами. Каждый тип имеет значение по умолчанию. Ссылочные типы создаются в куче. Время жизни ссылочного типа управляется платформой .NET. Значением по умолчанию для ссылочных типов является нулевая ссылка. Присвоение переменной ссылочного типа создает копию ссылки, а не копию значения, на которое ссылаются. Типы значений создаются в стеке. Время жизни определяется временем жизни переменной. Присвоение переменной типа значения создает копию присваиваемого значения. Типы значений имеют разные значения по умолчанию. Например, логическое значение по умолчанию — False, десятичный 0, строка — пустая строка "".
Логические значения
В нашем мире построена двойственность. Есть Небо и Земля, вода и огонь, цзин и цзян, мужчина и женщина, любовь и ненависть. В Visual Basic тип данных Boolean — это примитивный тип данных, имеющий одно из двух значений: True или False. Это фундаментальный тип данных. Очень часто встречается в компьютерных программах.
Счастливые родители ждут рождения ребенка. Они выбрали имя для обеих возможностей. Если это будет мальчик, они выбрали Джона. Если это будет девочка, они выбрали Джессику.
Программа использует генератор случайных чисел для моделирования нашего случая.
Переменная num имеет тип данных Byte. Это важно. Байтовые типы данных могут иметь целочисленные значения 0..255.
Эти две строки случайным образом выбирают 0 или 1. Функция Rnd возвращает случайное значение меньше 1, но больше или равно нулю. Мы используем метод Round для округления числа. Случайные значения больше 0,5 округляются до 1. Все остальные случайные значения округляются до 0. Тип данных Double преобразуется в Byte с помощью функции CType. Таким образом, переменной num присваивается значение 0 или 1. Функция Randomize инициализирует генератор случайных чисел начальным числом на основе системного таймера.
В зависимости от переменной num логической мужской переменной присваивается значение True или False.
Если для мужской переменной установлено значение True, мы выбираем имя Джон. В противном случае выбираем имя Джессика. Структуры управления, такие как операторы If/Else, работают с логическими значениями.
Целые числа
Целые числа — это подмножество действительных чисел. Они записываются без дроби или десятичной части. Целые числа попадают в набор Z = <. -2, -1, 0, 1, 2, . >Целые числа бесконечны.
В компьютерных языках целые числа являются примитивными типами данных. Компьютеры практически могут работать только с подмножеством целочисленных значений, поскольку вычислительная мощность компьютеров ограничена. Целые числа используются для подсчета дискретных объектов. У нас может быть 3, 4, 6 человек, но не может быть 3,33 человека. У нас может быть 3,33 кг.
Эти целочисленные типы могут использоваться в соответствии с нашими потребностями.Никто (за исключением, может быть, некоторых библейских персонажей) не может быть старше 120-130 лет. Затем мы можем использовать тип Byte для переменной age в нашей программе. Это сэкономит память.
В этом примере мы пытаемся присвоить значение, выходящее за пределы диапазона типа данных. Компилятор Mono выдает System.OverflowException . Visual Basic 2008 Express не скомпилирует этот пример.
В Visual Basic целые числа могут быть указаны в трех различных нотациях: десятичной, шестнадцатеричной и восьмеричной. Восьмеричным значениям предшествует &o , шестнадцатеричным - &h .
Мы присваиваем 31 трем переменным, используя три обозначения. И мы выводим их на консоль.
По умолчанию используется десятичная система счисления. Программа показывает эти три числа в десятичном виде.
Если мы работаем с целыми числами, мы имеем дело с дискретными объектами. Мы будем использовать целые числа для подсчета яблок.
В нашей программе мы подсчитываем общее количество яблок. Мы используем операцию умножения.
Вывод программы.
Числа с плавающей запятой
Числа с плавающей запятой представляют собой действительные числа в вычислениях. Действительные числа измеряют непрерывные величины, такие как вес, рост или скорость. В Visual Basic есть три важных типа с плавающей запятой: Single , Double и Decimal .
В приведенной выше таблице приведены характеристики типов с плавающей запятой.
Мы можем использовать различный синтаксис для создания значений с плавающей запятой.
У нас есть три способа создания значений с плавающей запятой. Первый — это «обычный» способ с использованием десятичной точки. Второй использует научную нотацию. И последний в результате числовой операции.
Значения Single и Double хранятся с разной точностью. Следует соблюдать осторожность при сравнении значений с плавающей запятой.
И числа не равны.
Допустим, спринтер на 100 м пробежал 9,87 с. Какова его скорость в км/ч?
В этом примере необходимо использовать значения с плавающей запятой.
Чтобы получить скорость, мы делим расстояние на время.
Перечисления
Перечисленный тип (также называемый перечислением или перечислением) – это тип данных, состоящий из набора именованных значений. Переменной, объявленной как имеющая перечисляемый тип, может быть присвоен любой из перечислителей в качестве значения. Перечисления делают код более читабельным.
В нашем примере кода мы создаем перечисление для дней недели.
Перечисление создается с помощью ключевого слова Enum. Понедельник, вторник. голые слова хранят фактические числа 0..6.
У нас есть переменная с именем day, которая имеет перечисляемый тип Days. Он инициализирован понедельником.
Этот код более удобочитаем, чем сравнение переменной дня с некоторым числом.
Эта строка выводит на консоль 0. Для компьютера перечисление — это число.
Дальше работаем с перечислениями.
Времена года можно легко использовать как перечисление. Мы можем указать базовый тип для перечисления, а также указать для них точные значения.
С помощью ключевого слова As мы указываем базовый тип для перечисления. Мы также даем каждому участнику определенный номер.
Эти две строки выводят на консоль 1, 3.
Строки и символы
String – это тип данных, представляющий текстовые данные в компьютерных программах. Строка в Visual Basic — это последовательность символов Юникода. Char — это одиночный символ Unicode. Строки заключаются в одинарные или двойные кавычки.
Поскольку строки очень важны в каждом языке программирования, мы посвятим им целую главу. Здесь мы опустим лишь небольшой пример.
Программа выводит на терминал символ Z.
Здесь мы создаем строковую переменную и присваиваем ей значение "ZetCode".
Метод SubString используется для возврата подстроки из строки. Тип возвращаемого значения метода — String . Мы хотим получить и назначить один символ. Вот почему нам нужно преобразовать String в Char с помощью функции CType. Позже символ печатается на терминале.
Массивы
Массив — это сложный тип данных, который обрабатывает набор элементов. К каждому элементу можно получить доступ по индексу. Все элементы массива должны быть одного типа данных.
Мы посвящаем целую главу массивам, здесь мы приводим лишь небольшой пример.
В этом примере мы объявляем массив, заполняем его данными, а затем выводим содержимое массива на консоль.
Мы объявляем массив целых чисел, который может хранить до 5 целых чисел.
Здесь мы присваиваем значения созданному массиву.
Мы просматриваем массив и выводим данные на консоль. Свойство Length массива дает нам длину рассматриваемого массива.
Дата — это тип значения, который содержит значения даты, значения времени или значения даты и времени.
Мы показываем сегодняшнюю дату в трех различных форматах. Дата и время, дата и время.
Мы объявляем переменную типа Date.
Возвращает текущую дату и время, используя системную дату и время компьютера.
Эта строка выводит дату в полном формате.
ToShortDateString возвращает краткий формат строки даты, ToShortTimeString возвращает краткий формат строки времени.
Вывод примера.
Приведение типов
Мы часто работаем с несколькими типами данных одновременно. Преобразование одного типа данных в другой является обычной задачей в программировании. Преобразование типов или приведение типов относится к изменению сущности одного типа данных в другой. Существует два типа преобразования. Неявное и явное. Неявное преобразование типов, также известное как принуждение, — это автоматическое преобразование типов компилятором.
В этом примере у нас есть множество неявных преобразований.
Некоторые неявные преобразования невозможны, если включен оператор Option Strict. Вот почему мы комментируем эту строку.
Значение с плавающей запятой присваивается переменной типа данных Byte. Это целочисленный тип данных. Значение округляется до 1; теряется некоторая точность. Это сужающее неявное преобразование.
Мы добавляем два значения. Одно целое число и одно значение с плавающей запятой. Результатом является значение с плавающей запятой. Это расширяющее неявное преобразование.
Результат равен 24. Строка неявно преобразуется в число.
Результат: 1212. Целое число преобразуется в строку, и две строки складываются.
Далее мы покажем некоторые явные преобразования в Visual Basic.
Функция | Преобразует в |
---|---|
CBool | Boolean |
CByte | Byte |
CChar | символ Unicode< /td> |
CDate | Дата |
CDb1 | Двойной | < /tr>
CDec | Десятичный |
Clnt | Целое число | CLng | Длинный |
CObj | Объект |
CShort | Короткий |
CSng | Одиночный |
CStr td> | Строка |
У нас есть несколько функций для выполнения явных преобразований.
В программе мы выполняем три типа преобразования.
Эти две строки выполняют явное сужающее преобразование. Первое число округляется до 0, второе до 1.
Функция Val возвращает числа, содержащиеся в строке. В нашем случае 1071.
В этой части руководства по Visual Basic мы рассмотрели типы данных и их преобразования.
Читайте также: