Visual studio тип byte
Boolean : представляет логическое значение. Может принимать True или False . Представлен системным типом System.Boolean
Short : представляет число от -32768 до 32767 и занимает 2 байта. Представлен системным типом System.Int16
Integer : представляет целое число от –2 147 483 648 до 2 147 483 647 и занимает 4 байта. Представлен системным типом System.Int32
Long : представляет целое число от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 и занимает 8 байт. Представлен системным типом System.Int64
SByte : представляет значение от -128 до 127 и занимает 1 байт. Представлен системным типом System.SByte
UShort : представляет целое число от 0 до 65 535 и занимает 2 байта. Представлен системным типом System.UInt16
UInteger : представляет целое число от 0 до 4 294 967 295 и занимает 4 байта. Представлен системным типом System.UInt32
ULong : представляет целое число от 0 до 18 446 744 073 709 551 615 и занимает 8 байт. Представлен системным типом System.UInt64
Single : представляет число с плавающей точкой и может принимать следующие значения: для отрицательных чисел от –3,4028235E+38 до –1,401298E–45; для положительных чисел от 1,401298E–45 до 3,4028235E+38. Представлен системным типом System.Single
Double : представляет числа с плавающей запятой двойной точности. Может принимать следующие значения: для отрицательных чисел от –1,79769313486231570E+308 до –4.94065645841246544E–324; для положительных чисел от 4,94065645841246544E–324 до 1,79769313486231570E+308. В памяти занимает 8 байт. Представлен системным типом System.Double
Decimal : хранит десятичное число с фиксированной запятой. Если употребляется без десятичной запятой, имеет значение от 0 до +/–79 228 162 514 264 337 593 543 950 335; если с запятой, то от 0 до +/–7,9228162514264337593543950335 с 28 разрядами после запятой и занимает 16 байт. Представлен системным типом System.Decimal
Date : представляет дату от 0:00:00 1 января 0001 года до 23:59:59 31 декабря 9999 года и занимает 8 байт. Представлен системным типом System.DateTime
String : хранит набор символов Unicode. Представлен системным типом System.String
Объявление переменных
Для объявления переменных мы используем ключевое слово Dim , либо один из модификаторов доступа - Private , Friend , Protected , Public или Static . О модификаторах доступа мы поговорим чуть попозже, а пока ограничимся употреблением оператора Dim . Далее мы должны указать имя переменной. Требования к имени переменной следующие:
имя должно содержать не более 255 символов
имя может содержать любые буквы, цифры и символ подчеркивания, при этом первый символ в имени должен быть буквой или символом подчеркивания
в имени должны отсутствовать пробелы и знаки пунктуации
имя не должно быть ключевым словом
После имени переменной указывается ключевое слово As и затем идет тип данных переменной. После указания типа данных мы можем указать также и значение переменной с помощью знака равно. Ниже даны примеры объявления переменных:
Это были примеры явного указания переменных, то есть мы явно указывали их тип данных. Однако возможен и другой способ, когда компилятор выводит тип данных из ее значения, то есть неявный способ определения переменных. Поэтому уместны и следующие объявления:
Если однажды объявив переменную, мы можем многократно изменять ее значение, то значение констант мы изменять не можем и можем указать его лишь однажды. Объявление константы похоже на объявление переменной, только вместо слова Dim используется ключевое слово Const :
Использование системных типов
При перечислении всех базовых типов данных, упоминалось, что каждому примитивному типу данных соответствует какой-то системный тип. Потому что название встроенного типа по сути представляет собой сокращенное обозначение системного типа. Например, следующие переменные будут эквивалентны по типу:
Комментарии
Byte Используйте тип данных для хранения двоичных данных.
Значение по умолчанию для типа Byte — 0.
Присваивания литералов
можно объявить и инициализировать Byte переменную, назначив ей десятичный литерал, шестнадцатеричный литерал, восьмеричный литерал или (начиная с Visual Basic 2017) двоичный литерал. Если целочисленный литерал находится вне диапазона Byte (то есть если он меньше Byte.MinValue или больше Byte.MaxValue ), возникает ошибка компиляции.
В следующем примере целые числа, равные 201, представленные в виде десятичных, шестнадцатеричных и двоичных литералов, неявно преобразуются из типа Integer в значения.
Используйте префикс &h или &H , чтобы обозначить шестнадцатеричный литерал, префикс &b или &B обозначить двоичный литерал, а также префикс &o или &O обозначить Восьмеричный литерал. У десятичных литералов префиксов нет.
начиная с Visual Basic 2017, можно также использовать символ _ подчеркивания () в качестве разделителя цифр, чтобы улучшить удобочитаемость, как показано в следующем примере.
начиная с Visual Basic 15,5, можно также использовать символ подчеркивания ( _ ) в качестве начального разделителя между префиксом и шестнадцатеричными, двоичными или восьмеричными цифрами. Пример:
чтобы использовать символ подчеркивания в качестве начального разделителя, необходимо добавить следующий элемент в файл проекта Visual Basic (*. vbproj):
Советы по программированию
Отрицательные числа. Так как Byte является неподписанным типом, он не может представлять отрицательное число. при использовании оператора унарного минуса ( - ) в выражении, результатом которого является тип Byte , Visual Basic преобразует выражение в Short first.
Преобразования формата. когда Visual Basic считывает или записывает файлы или вызывает библиотеки dll, методы и свойства, он может автоматически выполнять преобразование между форматами данных. Двоичные данные, хранящиеся в Byte переменных и массивах, сохраняются во время таких преобразований формата. Не следует использовать String переменную для двоичных данных, так как ее содержимое может быть повреждено во время преобразования между форматами ANSI и Юникод.
Расширение. Byte Тип данных расширяется до Short , UShort , Integer , UInteger Long ,, ULong , Decimal , Single или Double . Это означает, что можно преобразовать Byte в любой из этих типов без возникновения System.OverflowException ошибки.
Символы типов. Byte не имеет символа типа литерала или символа типа идентификатора.
Пример
В следующем примере b — это Byte переменная. Инструкции демонстрируют диапазон переменных и применение к нему операторов побитового сдвига.
Remarks
Use the Byte data type to contain binary data.
The default value of Byte is 0.
Literal assignments
You can declare and initialize a Byte variable by assigning it a decimal literal, a hexadecimal literal, an octal literal, or (starting with Visual Basic 2017) a binary literal. If the integral literal is outside the range of a Byte (that is, if it is less than Byte.MinValue or greater than Byte.MaxValue), a compilation error occurs.
In the following example, integers equal to 201 that are represented as decimal, hexadecimal, and binary literals are implicitly converted from Integer to byte values.
You use the prefix &h or &H to denote a hexadecimal literal, the prefix &b or &B to denote a binary literal, and the prefix &o or &O to denote an octal literal. Decimal literals have no prefix.
Starting with Visual Basic 2017, you can also use the underscore character, _ , as a digit separator to enhance readability, as the following example shows.
Starting with Visual Basic 15.5, you can also use the underscore character ( _ ) as a leading separator between the prefix and the hexadecimal, binary, or octal digits. For example:
To use the underscore character as a leading separator, you must add the following element to your Visual Basic project (*.vbproj) file:
Programming tips
Negative Numbers. Because Byte is an unsigned type, it cannot represent a negative number. If you use the unary minus ( - ) operator on an expression that evaluates to type Byte , Visual Basic converts the expression to Short first.
Format Conversions. When Visual Basic reads or writes files, or when it calls DLLs, methods, and properties, it can automatically convert between data formats. Binary data stored in Byte variables and arrays is preserved during such format conversions. You should not use a String variable for binary data, because its contents can be corrupted during conversion between ANSI and Unicode formats.
Widening. The Byte data type widens to Short , UShort , Integer , UInteger , Long , ULong , Decimal , Single , or Double . This means you can convert Byte to any of these types without encountering a System.OverflowException error.
Type Characters. Byte has no literal type character or identifier type character.
Example
In the following example, b is a Byte variable. The statements demonstrate the range of the variable and the application of bit-shift operators to it.
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Remarks
Instantiating a Byte Value
You can instantiate a Byte value in several ways:
You can declare a Byte variable and assign it a literal integer value that is within the range of the Byte data type. The following example declares two Byte variables and assigns them values in this way.
You can call a method of the Convert class to convert any supported type to a Byte value. This is possible because Byte supports the IConvertible interface. The following example illustrates the conversion of an array of Int32 values to Byte values.
You can call the Parse or TryParse method to convert the string representation of a Byte value to a Byte. The string can contain either decimal or hexadecimal digits. The following example illustrates the parse operation by using both a decimal and a hexadecimal string.
Performing Operations on Byte Values
The Byte type supports standard mathematical operations such as addition, subtraction, division, multiplication, subtraction, negation, and unary negation. Like the other integral types, the Byte type also supports the bitwise AND , OR , XOR , left shift, and right shift operators.
You can use the standard numeric operators to compare two Byte values, or you can call the CompareTo or Equals method.
You can also call the members of the Math class to perform a wide range of numeric operations, including getting the absolute value of a number, calculating the quotient and remainder from integral division, determining the maximum or minimum value of two integers, getting the sign of a number, and rounding a number.
Representing a Byte as a String
The Byte type provides full support for standard and custom numeric format strings. (For more information, see Formatting Types, Standard Numeric Format Strings, and Custom Numeric Format Strings.) However, most commonly, byte values are represented as one-digit to three-digit values without any additional formatting, or as two-digit hexadecimal values.
To format a Byte value as an integral string with no leading zeros, you can call the parameterless ToString() method. By using the "D" format specifier, you can also include a specified number of leading zeros in the string representation. By using the "X" format specifier, you can represent a Byte value as a hexadecimal string. The following example formats the elements in an array of Byte values in these three ways.
You can also format a Byte value as a binary, octal, decimal, or hexadecimal string by calling the ToString(Byte, Int32) method and supplying the base as the method's second parameter. The following example calls this method to display the binary, octal, and hexadecimal representations of an array of byte values.
Working with Non-Decimal Byte Values
In addition to working with individual bytes as decimal values, you may want to perform bitwise operations with byte values, or work with byte arrays or with the binary or hexadecimal representations of byte values. For example, overloads of the BitConverter.GetBytes method can convert each of the primitive data types to a byte array, and the BigInteger.ToByteArray method converts a BigInteger value to a byte array.
Byte values are represented in 8 bits by their magnitude only, without a sign bit. This is important to keep in mind when you perform bitwise operations on Byte values or when you work with individual bits. In order to perform a numeric, Boolean, or comparison operation on any two non-decimal values, both values must use the same representation.
When an operation is performed on two Byte values, the values share the same representation, so the result is accurate. This is illustrated in the following example, which masks the lowest-order bit of a Byte value to ensure that it is even.
Fields
Represents the largest possible value of a Byte. This field is constant.
Represents the smallest possible value of a Byte. This field is constant.
Methods
Compares this instance to a specified object and returns an indication of their relative values.
Returns a value indicating whether this instance and a specified Byte object represent the same value.
Returns a value indicating whether this instance is equal to a specified object.
Returns the hash code for this instance.
Returns the TypeCode for value type Byte.
Converts the span representation of a number in a specified style and culture-specific format to its Byte equivalent.
Converts the string representation of a number to its Byte equivalent.
Converts the string representation of a number in a specified culture-specific format to its Byte equivalent.
Converts the string representation of a number in a specified style to its Byte equivalent.
Converts the string representation of a number in a specified style and culture-specific format to its Byte equivalent.
Converts the value of the current Byte object to its equivalent string representation.
Converts the numeric value of the current Byte object to its equivalent string representation using the specified culture-specific formatting information.
Converts the value of the current Byte object to its equivalent string representation using the specified format.
Converts the value of the current Byte object to its equivalent string representation using the specified format and culture-specific formatting information.
Tries to convert the span representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.
Converts the span representation of a number in a specified style and culture-specific format to its Byte equivalent. A return value indicates whether the conversion succeeded or failed.
Tries to convert the string representation of a number to its Byte equivalent, and returns a value that indicates whether the conversion succeeded.
Converts the string representation of a number in a specified style and culture-specific format to its Byte equivalent. A return value indicates whether the conversion succeeded or failed.
Explicit Interface Implementations
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
Returns the TypeCode for this instance.
For a description of this member, see ToBoolean(IFormatProvider).
For a description of this member, see ToByte(IFormatProvider).
For a description of this member, see ToChar(IFormatProvider).
This conversion is not supported. Attempting to use this method throws an InvalidCastException.
For a description of this member, see ToDecimal(IFormatProvider).
For a description of this member, see ToDouble(IFormatProvider).
For a description of this member, see ToInt16(IFormatProvider).
For a description of this member, see ToInt32(IFormatProvider).
For a description of this member, see ToInt64(IFormatProvider).
For a description of this member, see ToSByte(IFormatProvider).
For a description of this member, see ToSingle(IFormatProvider).
For a description of this member, see ToType(Type, IFormatProvider).
For a description of this member, see ToUInt16(IFormatProvider).
For a description of this member, see ToUInt32(IFormatProvider).
For a description of this member, see ToUInt64(IFormatProvider).
Applies to
Thread Safety
All members of this type are thread safe. Members that appear to modify instance state actually return a new instance initialized with the new value. As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Комментарии
Создание экземпляра байтового значения
Создать экземпляр Byte значения можно несколькими способами:
Можно объявить переменную Byte и назначить ей литеральное целое значение, которое находится в диапазоне Byte типа данных. В следующем примере объявляются две переменные Byte и им присваиваются значения описанным способом.
Можно вызвать метод Convert класса, чтобы преобразовать любой поддерживаемый Byte тип в значение. Это возможно, так как Byte реализует интерфейс IConvertible. В следующем примере показано преобразование массива значений Int32 в значения типа Byte.
Можно вызвать Parse или TryParse метод для преобразования строкового Byte представления значения в значение Byte. Строка может содержать либо десятичные, либо шестнадцатеричные цифры. В следующем примере показан вызов метода Parse с использованием десятичной и шестнадцатеричной строк.
Выполнение операций со значениями байтов
Тип Byte поддерживает стандартные математические операции, такие как сложение, вычитание, деление, умножение, вычитание, отрицание и унарное отрицание. Как и другие целочисленные типы, тип Byte также поддерживает битовые операторы AND , OR , XOR и операторы правого и левого сдвига.
Можно использовать стандартные числовые операторы для сравнения двух значений Byte либо вызвать метод CompareTo или Equals.
Можно также вызывать члены класса Math для выполнения разнообразных числовых операций, включая получение абсолютного значения числа, вычисление частного и остатка от целочисленного деления, определение максимального или минимального из двух целых чисел, получение знака числа, а также округление чисел.
Представление байта в виде строки
Тип Byte полностью поддерживает строки стандартных и настраиваемых числовых форматов (дополнительные сведения см. (Дополнительные сведения см. в разделе "Типы форматирования", "Строки стандартного числового формата" и "Строки настраиваемого числового формата".) Однако чаще всего значения байтов представлены в виде значений из одной цифры в три цифры без дополнительного форматирования или в виде шестнадцатеричных значений из двух цифр.
Чтобы отформатировать Byte значение в виде целочисленной строки без начальных нулей, можно вызвать метод без ToString() параметров. С помощью описателя формата "D" можно также включить указанное число начальных нулей в строковом представлении. С помощью описателя формата "X" можно представить Byte значение в виде шестнадцатеричной строки. Следующий пример форматирует элементы в массиве значений Byte тремя способами.
Можно также форматировать Byte значение как двоичную, восьмеричную, десятичную или шестнадцатеричную строку, вызвав ToString(Byte, Int32) метод и указав базу в качестве второго параметра метода. В следующем примере этот метод вызывается для отображения двоичных, восьмеричной и шестнадцатеричных представлений массива байтовых значений.
Работа со значениями не десятичных байтов
Помимо работы с отдельными байтами в виде десятичных значений, может потребоваться выполнять побитовые операции со значениями байтов или работать с массивами байтов или с двоичными или шестнадцатеричными представлениями байтовых значений. Например, перегрузки BitConverter.GetBytes метода могут преобразовывать каждый из примитивных типов данных в массив байтов, а BigInteger.ToByteArray метод преобразует значение в массив байтов BigInteger .
Byte значения представлены в 8 битах только по величине без знака. Это важно помнить при выполнении побитовых операции со значениями Byte или при работе с отдельными их битами. Для выполнения числовых, логических операций или операции сравнения с двумя недесятичными значениями, оба значения должны использовать одно и то же представление.
При выполнении операции с двумя Byte значениями значения используют одно и то же представление, поэтому результат является точным. Это показано в следующем примере, который маскирует бит наименьшего Byte порядка значения, чтобы убедиться, что он даже.
Представляет наибольшее возможное значение типа Byte. Это поле является константой.
Представляет минимально допустимое значение типа Byte. Это поле является константой.
Методы
Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.
Возвращает значение, позволяющее определить, представляют ли этот экземпляр и заданный объект Byte одно и то же значение.
Возвращает значение, показывающее, равен ли данный экземпляр заданному объекту.
Возвращает хэш-код данного экземпляра.
Возвращает TypeCode для типа значения Byte.
Преобразует представление числа в виде диапазона в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.
Преобразует строковое представление числа в его эквивалент типа Byte.
Преобразует строковое представление числа в указанном формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.
Преобразует строковое представление числа с указанным стилем в его эквивалент в формате Byte.
Преобразует строковое представление числа в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte.
Преобразует значение текущего объекта Byte в эквивалентное ему строковое представление.
Преобразует числовое значение текущего объекта Byte в эквивалентное ему строковое представление с использованием указанных сведений об особенностях форматирования для данного языка и региональных параметров.
Преобразует значение текущего объекта Byte в эквивалентное ему строковое представление с использованием заданного формата.
Преобразует числовое значение текущего объекта Byte в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях форматирования для данного языка и региональных параметров.
Пытается преобразовать представление числа в виде диапазона в его эквивалент типа Byte и возвращает значение, которое указывает на то, успешно ли выполнено преобразование.
Преобразует представление числа в виде диапазона в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte. Возвращает значение, указывающее, успешно ли выполнено преобразование.
Предпринимает попытку преобразования строкового представления числа в его эквивалент типа Byte и возвращает значение, позволяющее определить, успешно ли выполнено преобразование.
Преобразует строковое представление числа в указанном стиле и формате, связанном с определенным языком и региональными параметрами, в его эквивалент типа Byte. Возвращает значение, указывающее, успешно ли выполнено преобразование.
Явные реализации интерфейса
Сравнивает текущий экземпляр с другим объектом того же типа и возвращает целое число, которое показывает, расположен ли текущий экземпляр перед, после или на той же позиции в порядке сортировки, что и другой объект.
Возвращает TypeCode для этого экземпляра.
Описание этого члена см. в разделе ToBoolean(IFormatProvider).
Описание этого члена см. в разделе ToByte(IFormatProvider).
Описание этого члена см. в разделе ToChar(IFormatProvider).
Это преобразование не поддерживается. При попытке использовать этот метод выбрасывается исключение InvalidCastException.
Описание этого члена см. в разделе ToDecimal(IFormatProvider).
Описание этого члена см. в разделе ToDouble(IFormatProvider).
Описание этого члена см. в разделе ToInt16(IFormatProvider).
Описание этого члена см. в разделе ToInt32(IFormatProvider).
Описание этого члена см. в разделе ToInt64(IFormatProvider).
Описание этого члена см. в разделе ToSByte(IFormatProvider).
Описание этого члена см. в разделе ToSingle(IFormatProvider).
Описание этого члена см. в разделе ToType(Type, IFormatProvider).
Описание этого члена см. в разделе ToUInt16(IFormatProvider).
Описание этого члена см. в разделе ToUInt32(IFormatProvider).
Описание этого члена см. в разделе ToUInt64(IFormatProvider).
Применяется к
Потокобезопасность
Все члены этого типа являются потокобезопаснными. Члены, которые могут изменить состояние экземпляра, в действительности возвращают новый экземпляр, инициализированный новым значением. Как с любым другим типом, чтение и запись общей переменной, которая содержит экземпляр этого типа, должны быть защищены блокировкой для обеспечения потокобезопасности.
Читайте также: