Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю Страница 57

Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Компьютеры и Интернет / Базы данных. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте FullBooks.club (Фулбукс) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала


Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю» бесплатно полную версию:

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю читать онлайн бесплатно

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - читать книгу онлайн бесплатно, автор Троелсен Эндрю

Использование типов System.DateTime и System.TimeSpan

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

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

static void UseDatesAndTimes()

{

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

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

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

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

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

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

  dt = dt.AddMonths(2);

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

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

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

  Console.WriteLine(ts);

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

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

}

Работа с пространством имен System.Numerics

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

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

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

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

using System.Numerics;

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

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

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

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

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

static void UseBigInteger()

{

  Console.WriteLine(&quot;=&gt; Use BigInteger:&quot;);

  BigInteger biggy =

    BigInteger.Parse(&quot;9999999999999999999999999999999999999999999999&quot;);

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

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

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

  BigInteger reallyBig = BigInteger.Multiply(biggy,

    BigInteger.Parse(&quot;8888888888888888888888888888888888888888888&quot;));

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

}

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

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.