C# базовые типы данных (data types) |
![]() |
Добавил(а) microsin |
Язык C# позволяет Вам определить два типа переменных: типы значений (value types) и типы указателей (reference types). Value types хранят актуальное значение переменной, а reference types хранят ссылку на переменную, которая хранится где-то в памяти. Все точно также, как в старом добром C и C++. Типы value types размещаются в стеке и доступны во многих языках программирования. Типы reference types размещаются в куче (heap) и обычно представляют экземпляры класса (class instances). [Предопределенные типы значений C# (predefined C# value types)] sbyte: хранит 8-битное целое со знаком (signed integer). Символ s в sbyte означает, что переменная имеет знак (sign), и может быть положительной или отрицательной. Самое маленькое возможное значение может быть -128, самое большое значение 127. byte: хранит 8-битное беззнаковое целое (unsigned integer). В отличие от переменной sbyte переменная byte не имеет знака и может хранить только положительные значения. Самое маленькое возможное значение может быть 0, самое большое значение 255. short: хранит 16-битное целое со знаком (signed integer). Знак в sbyte означает, что переменная может быть положительной или отрицательной. Самое маленькое возможное значение может быть -32768, самое большое значение 32767. ushort: хранит 16-битное беззнаковое целое (unsigned integer). Символ u означает, что переменная не имеет знака (unsigned). В отличие от переменной short переменная ushort не имеет знака и может хранить только положительные значения. Самое маленькое возможное значение может быть 0, самое большое значение 65535. int: хранит 32-битное целое со знаком. Наименьшее возможное значение -2147483648, наибольшее возможное значение 2147483647. uint: хранит 32-битное беззнаковое целое. Символ u в uint означает, что число не имеет знака. Наименьшее возможное значение 0, наибольшее 4294967295. long: хранит 64-битное целое со знаком. Наименьшее возможное значение -9223372036854775808, наибольшее возможное значение 9223372036854775807. char: хранит 16-битный символ Unicode. Наименьшее возможное значение для символа Unicode равно 0, наибольшее 65535. float: хранит 32-битное число с плавающей запятой, со знаком. Наименьшее возможное значение примерно 1.5 * 10 в -45 степени, наибольшее примерно 3.4 * 10 в 38 степени. double: хранит 64-битное число с плавающей запятой, со знаком. Наименьшее возможное значение примерно 5 * 10 в -324 степени, наибольшее примерно 1.7 * 10 в 308 степени. decimal: хранит 128-битное число с плавающей запятой, со знаком. Переменные типа decimal хорошо подходят для финансовых вычислений. bool: хранит одно из двух возможных значений: true или false. Использование типа bool - одна из областей, где C# отличается от наследия C и С++. В языках C и C++ целое число 0 было синонимом false, и любое ненулевое значение было синонимом true. Однако в C# тип bool не является синонимом целого типа. Вы не можете сконвертировать переменную целого типа в эквивалентную переменную bool. Если Вам нужно работать с переменными, которые представляют условия true или false, используйте в C# только переменную типа bool, и никак не целочисленную переменную. [Предопределенные типы указателей C# (predefined C# reference types)] string: представляет строку символов Unicode. Позволяет просто манипулировать строками и назначать их. Строки не являются мутируемыми (они immutable), т. е. будучи созданными, они не могут быть модифицированы. Так например, если Вы попытаетесь модифицировать строку (наподобие приклеить к ней другую строку), то в реальности будет создан новый объект строки, который будет содержать результирующую строку. object: представляет тип общего назначения (general purpose type). В C# все предопределенные типы и заданные пользователем типы наследуются от типа object или класса System.Object. Правильное использование корректных типов данных позволяет разработчикам максимально использовать возможности языка C#, однако это требует некоторого времени на изучение для тех, кто ранее использовал другие языки программирования. Для получения более подробной информации по каждому типу данных обратитесь на официальный сайт Microsoft. |