This article has been localized into Russian by the community.
Целые
Компьютеры и числа идут рука об руку, поэтому при программировании вы очень часто обнаружите, что работаете с числами во многих формах. Одним из наиболее часто используемых типов в C# - это число. Слово "integer" на латыни означает "целое", что имеет смысл, потому что целое число - это число без дробной части-целое число.
Int32 - целое число по умолчанию
Как мы обсудим в ближайшее время, C# поставляется с множеством различных целочисленных типов, но тот, который вы, вероятно, будете использовать большую часть времени, является Int32 - 32-битным целым числом. Оно может быть объявлено следующим образом:
Int32 number;
Однако, так как это действительно наиболее часто используемый целочисленный Тип в C#, у него есть ярлык - вы можете просто написать "int", и C# автоматически узнает, что вы говорите о Int32. Конечно, вы можете также присвоить ему значение в том же операторе, где вы его объявите:
int number = 42;
Обратите внимание на разницу в регистре, хотя- Int32 относится к классу, поэтому он начинается с верхнего регистра I, в то время как int является ключевым словом, поэтому он начинается с нижнего регистра i.
Int32-это так называемое целое число со знаком, которое может содержать число в диапазоне от -2,147,483,648 до 2,147,483,647. Вы можете проверить это, обратившись к Int32.MinValue и Int32.Константы MaxValue. Если вам нужны большие числа, или если вы уже знаете, что числа, с которыми вы будете работать, никогда не достигнут пределов целого числа, вы можете выбрать другой тип.
Целочисленный тип
Как уже упоминалось, в C# существует множество целочисленных типов. На самом деле, слишком много, чтобы упомянуть их все в этой статье, но вот наиболее распространенные из них, которые вы, вероятно, столкнетесь время от времени:
- byte - целое число без знака, которое может содержать число от 0 до 255.
- short - 16-битное целое число со знаком, которое может содержать значение от -32,768 до 32,767. Также известен под своим формальным названием Int16
- long - 64-битное целое число, которое может содержать значение между -9223372036854775808 и 9223372036854775807. Также известен под своим формальным названием Int64
Если необходимо хранить большее число, чем позволяет тип long, можно использовать ulong вместо этого-это целое число без знака, которое может содержать значение до 18,446,744,073,709,551,615. С другой стороны, поскольку это целое число без знака, оно не допускает отрицательных значений. Аналогичным образом, Вы можете найти беззнаковые версии других целочисленных типов, которые работают так же, как uint и ushort.
Математика с целыми числами
При работе с целыми числами и числами в целом вам может потребоваться выполнить некоторые вычисления. Это очень просто в большинстве языков программирования, включая C#, где вы можете использовать все наиболее распространенные математические операторы. Например, можно выполнить следующее вычисление:
int a = 42;
int b = 8;
Console.WriteLine(a + b);
Число 50 будет напечатан в консоли. Обратите внимание, как вы могли бы справиться с этим расчетом, не делая ничего особенного - просто укажите переменные и математический оператор плюс, и можете идти.
То же самое происходит, если вы хотите использовать другие математические операторы, и вы, конечно, можете использовать числа, которые еще не определены как переменные:
int a = 42;
int b = 8;
Console.WriteLine(200 - ((a + b) * 2));
Обратите внимание на дополнительный набор скобок-как и в обычной математике, вам придется иметь дело с order of operations.
Целые числа и деление
Теперь, когда мы добавили, вычли и умножили, давайте немного поговорим о делении. Рассмотрим следующий пример:
int a = 10;
int b = 3;
Console.WriteLine(a / b);
Вы, вероятно, может посчитать, что в вашей голове и так знаешь результат должен быть 3.33333333333. Но если вы запустите пример, то увидите нечто странное-результат вместо 3. Причина в том, что если вы сделаете деление между двумя целыми числами, C# также вернет целое число, и так как целое число не может содержать дробей, результат будет просто округлен (в данном случае до 3). Поэтому, если вы хотите получить результат с дробями, вы должны либо объявить одну из переменных как переменную с плавающей запятой (подробнее об этом позже), либо напечатать одну из них на лету:
int a = 10;
int b = 3;
Console.WriteLine((float)a / b);
Преобразование типов / casting
Давайте поговорим больше о том, как можно преобразовать из и в целое число. Прежде всего, C# позволяет выполнять явные и неявные преобразования между различными целочисленными типами. Пример неявного преобразования может выглядеть следующим образом:
int a = 10;
long b = a;
Другими словами, если у вас есть целое число, вы можете рассматривать его как долго. Это возможно, потому что C# знает, что значение целого числа может поместиться внутри long. С другой стороны, наоборот, это может быть неверно-поэтому для этого вам придется использовать явное преобразование:
long a = 10;
int b = (int)a;
Это, конечно, предостерегает вас от совершения ошибки - если у вас есть значение long, которое превышает емкость обычного целого числа, вы в беде!
Резюме
Работа с числами, такими как целые числа и с плавающей точкой, - это то, что вы будете делать много раз в любой задаче по программированию. С вашими новыми знаниями о целых числах и о том, как с ними работать, пришло время перейти к значениям с плавающей запятой в следующей статье.