Урок 3. Числовые типы данных в C#


Все уроки по C# расположены здесь.

На этом уроке мы рассмотрим числовые типы данных, доступных в языке программирования C#: как объявляются и описание их.

Сильно и слабо типизированные языки

C# является строго (сильно) типизированным языком. Все переменные в программе должны быть объявлены как имеющие определенный тип. Поведение переменной определяется выбранным типом. Например, целочисленная переменная может содержать только целые числа. Если число в целочисленной переменной нуждается в дробной части, оно сначала должно быть преобразовано в другой тип, возможно, сохраненный в новой переменной как часть преобразования.

Альтернативой строго типизированному языку является слабо типизированный язык. Примером может служить VBScript, используемый многими классическими разработчиками ASP. В VBScript тип переменной не объявляется,и поведение переменной может измениться от одной строки кода к другой.

Объявление и присвоение переменных

Переменная может быть объявлена одной строкой кода с указанием типа переменной и ее имени. В следующем коде, целочисленная переменная объявляется с использованием данных типа int.

int x;
Переменной может быть присвоено значение, используя оператор присваивания (=). Переменной слева от оператора присваивается значение справа. В следующем коде показана переменная, которая объявляется и которой присваивается значение.

int x;
x = 3;
Не нужно немедленно присваивать значение новой переменной. Между объявлением переменной и присвоением ей значения может быть много строк кода. Однако, если вы хотите объявить переменную и присвоить значение одновременно, это возможно. Например

int x = 3;
В одной строке кода можно объявить несколько переменных одного типа. Можно также назначить одно и то же значение нескольким переменным в одном операторе. Для того чтобы усложнить вещи более далее (или показать элегантность C#, в зависимости от вашей точки зрения), эти деятельности можно совместить. В следующем коде показаны три примера.

// Создаем несколько переменных, разделив их запятыми
int weight, size, quantity;
 
// Присваиваем трем переменным одинаковые значения  (8)
weight = size = quantity = 8;
 
// Создаем три целых числа и инициализируем их
int weight = 1, size = 2, quantity = 3;
Примечание: таким образом, нескольким переменным может быть присвоено одно и то же значение, так как операция присваивания возвращает назначенное значение.

Проблемы с присвоениями

Определенное присваивание

У компилятора C# действует правило, известное как определенное присваивание definite assignment (). Это означает, что переменная не может быть прочитана до тех пор, пока не будет присвоено значение. Это не позволяет писать код, считывающий переменную с неопределенным значением, так как это может привести к непредсказуемым результатам.

Следующий код не скомпилируется, показывая ошибку "Use of unassigned variable”

int x;
int y = x;
Присвоение неверного типа

Вторая проблема, которая часто возникает при присвоении значений, заключается в попытке присвоить значение, несовместимое с объявленным типом данных, или в потере информации. В следующем примере переменной не может быть присвоено значение с десятичной частью; в десятичной системе будет округлым. Эта ошибка приводит к ошибке в формате "Не удаётся неявно преобразовать тип double в int.".

int x = 3.5;
Приведенное выше преобразование не является невозможным. Однако необходимо явно указать, что требуется преобразовать значение типа данных. Преобразования типов данных рассматриваются далее в данном учебнике c#.

Таблица числовых типов данных

Я закончу эту статью таблицей с числовыми типами данных. Для целочисленных типов задается ключевое слово объявления, описание типа, диапазон возможных значений и количество битов, используемых для представления значения. Логический тип тоже включен в таблицу, который, хотя технически он и не числовой, но хорошо вписывается в неё. Логический тип может иметь значения true или false. Он назван в честь математика Джорджа Буля.



Для не целых чисел я указал размер и точность, а не минимум и максимум. Это позволяет определить, какой тип данных следует использовать для числовой переменной.



Предыдущий: Урок 2. C# комментарии | Следующий: Урок 4. Числовые литералы в C#
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, Уроки по си шарп, си шарп




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Урок 9. Определение и создание переменных PHP
Вычисление простых множителей в C#
Исходный код программы на C++ для создания структуры с комментариями