Читаем Язык программирования C#9 и платформа .NET5 полностью

На заметку! После того как переменной BigInteger присвоено значение, модифицировать ее больше нельзя, т.к. это неизменяемые данные. Тем не менее, в классе BigInteger определено несколько членов, которые возвращают новые объекты BigInteger на основе модификаций данных (такие как статический метод Multiply, используемый в следующем примере кода).

В любом случае после определения переменной BigInteger вы обнаружите, что в этом классе определены члены, похожие на члены в других внутренних типах данных C# (например, float либо int). Вдобавок в классе BigInteger определен ряд статических членов, которые позволяют применять к переменным BigInteger базовые математические операции (наподобие сложения и умножения). Взгляните на пример работы с классом BigInteger:

static void UseBigInteger

{

  Console.WriteLine("=> Use BigInteger:");

  BigInteger biggy =

    BigInteger.Parse("9999999999999999999999999999999999999999999999");

  Console.WriteLine("Value of biggy is {0}", biggy);

  Console.WriteLine("Is biggy an even value?: {0}", biggy.IsEven);

  Console.WriteLine("Is biggy a power of two?: {0}", biggy.IsPowerOfTwo);

  BigInteger reallyBig = BigInteger.Multiply(biggy,

    BigInteger.Parse("8888888888888888888888888888888888888888888"));

  Console.WriteLine("Value of reallyBig is {0}", reallyBig);

}

Важно отметить, что тип данных BigInteger реагирует на внутренние математические операции С#, такие как +, - и *. Следовательно, вместо вызова метода BigInteger.Multiply для перемножения двух больших чисел можно использовать такой код:

BigInteger reallyBig2 = biggy * reallyBig;

К настоящему моменту вы должны понимать, что ключевые слова С#, представляющие базовые типы данных, имеют соответствующие типы в библиотеках базовых классов .NET Core, каждый из которых предлагает фиксированную функциональность. Хотя абсолютно все члены этих типов данных в книге подробно не рассматриваются, имеет смысл изучить их самостоятельно. Подробные описания разнообразных типов данных .NET Core можно найти в документации по .NET Core — скорее всего, вы будете удивлены объемом их встроенной функциональности.

<p id="AutBody_Root100">Использование разделителей групп цифр (нововведение в версии 7.0)</p>

Временами при присваивании числовой переменной крупных чисел цифр оказывается больше, чем способен отслеживать глаз. В версии C# 7.0 был введен разделитель групп цифр в виде символа подчеркивания (_) для данных int, long, decimal, double или шестнадцатеричных типов. Версия C# 7.2 позволяет шестнадцатеричным значениям (и рассматриваемым далее новым двоичным литералам) после открывающего объявления начинаться с символа подчеркивания. Ниже представлен пример применения нового разделителя групп цифр:

static void DigitSeparators

{

  Console.WriteLine("=> Use Digit Separators:");

  Console.Write("Integer:");       // Целое

  Console.WriteLine(123_456);

  Console.Write("Long:");          // Длинное целое

  Console.WriteLine(123_456_789L);

  Console.Write("Float:");         // С плавающей точкой

  Console.WriteLine(123_456.1234F);

  Console.Write("Double:");        // С плавающей точкой двойной точности

  Console.WriteLine(123_456.12);

  Console.Write("Decimal:");       // Десятичное

  Console.WriteLine(123_456.12M);

                    // Обновление в версии 7.2: шестнадцатеричное значение

                    // может начинаться с символа _

  Console.Write("Hex:");

  Console.WriteLine(0x_00_00_FF);  // Шестнадцатеричное

}

<p id="AutBody_Root101">Использование двоичных литералов (нововведение в версии 7.0/7.2)</p>
Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT