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

  {

    Console.WriteLine("Value of d: {0}", d);

  }

  else

  {

    // Преобразование входного значения в double потерпело неудачу

    // и переменной было присвоено стандартное значение.

    Console.WriteLine("Failed to convert the input ({0}) to a double and

                      the variable was assigned the default {1}", value,d);

  }

  Console.WriteLine;

}

Если вы только начали осваивать программирование и не знаете, как работают операторы if/else, то они подробно рассматриваются позже в главе. В приведенном выше примере важно отметить, что когда строка может быть преобразована в запрошенный тип данных, метод TryParse возвращает true и присваивает разобранное значение переменной, переданной методу. В случае невозможности разбора значения переменной присваивается стандартное значение, а метод TryParse возвращает false.

<p id="AutBody_Root98">Использование типов System.DateTime и System.TimeSpan</p>

В пространстве имен System определено несколько полезных типов данных, для которых отсутствуют ключевые слова языка С#, в том числе структуры DateTime и TimeSpan. (При желании можете самостоятельно ознакомиться с типом System.Void, показанным на рис. 3.2.)

Тип DateTime содержит данные, представляющие специфичное значение даты (месяц, день, год) и времени, которые могут форматироваться разнообразными способами с применением членов этого типа. Структура TimeSpan позволяет легко определять и трансформировать единицы времени, используя различные ее члены.

static void UseDatesAndTimes

{

  Console.WriteLine("=> Dates and Times:");

  // Этот конструктор принимает год, месяц и день.

  DateTime dt = new DateTime(2015, 10, 17);

  // Какой это день месяца?

  Console.WriteLine("The day of {0} is {1}", dt.Date, dt.DayOfWeek);

  // Сейчас месяц декабрь.

  dt = dt.AddMonths(2);

  Console.WriteLine("Daylight savings: {0}", dt.IsDaylightSavingTime);

  // Этот конструктор принимает часы, минуты и секунды.

  TimeSpan ts = new TimeSpan(4, 30, 0);

  Console.WriteLine(ts);

  // Вычесть 15 минут из текущего значения TimeSpan и вывести результат.

  Console.WriteLine(ts.Subtract(new TimeSpan(0, 15, 0)));

}

<p id="AutBody_Root99">Работа с пространством имен System.Numerics</p>

В пространстве имен System.Numerics определена структура по имени BigInteger. Тип данных BigInteger может применяться для представления огромных числовых значений, которые не ограничены фиксированным верхним или нижним пределом.

На заметку! В пространстве имен System.Numerics также определена вторая структура по имени Complex, которая позволяет моделировать математически сложные числовые данные (например, мнимые единицы, вещественные данные, гиперболические тангенсы). Дополнительные сведения о структуре Complex можно найти в документации по .NET Core.

Несмотря на то что во многих приложениях .NET Core потребность в структуре BigInteger может никогда не возникать, если все-таки необходимо определить большое числовое значение, то в первую очередь понадобится добавить в файл показанную ниже директиву using:

// Здесь определен тип BigInteger:

using System.Numerics;

Теперь с применением операции new можно создать переменную BigInteger. Внутри конструктора можно указать числовое значение, включая данные с плавающей точкой. Однако компилятор C# неявно типизирует числа не с плавающей точкой как int, а числа с плавающей точкой — как double. Как же тогда установить для BigInteger большое значение, не переполнив стандартные типы данных, которые задействуются для неформатированных числовых значений?

Простейший подход предусматривает определение большого числового значения в виде текстового литерала, который затем может быть преобразован в переменную BigInteger посредством статического метода Parse. При желании можно также передавать байтовый массив непосредственно конструктору класса BigInteger.

Перейти на страницу:

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

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

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

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

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

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

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

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