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

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

На нашем литературном портале можно бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 22 август 2024
Количество просмотров: 172
Читать онлайн

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

Язык программирования C#9 и платформа .NET5 читать книгу онлайн

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

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

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

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

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

Кроме того, класс Car имеет несколько свойств для представления текущей скорости и указанного пользователем "дружественного названия" автомобиля, а также различные конструкторы для установки состояния нового объекта Car. Ниже приведено полное определение Car вместе с поясняющими комментариями.

using System;

namespace SimpleException

{

  class Car

  {

    // Константа для представления максимальной скорости.

    public const int MaxSpeed = 100;

    // Свойства автомобиля.

    public int CurrentSpeed {get; set;} = 0;

    public string PetName {get; set;} = "";

    // He вышел ли автомобиль из строя?

    private bool _carIsDead;

    // В автомобиле имеется радиоприемник.

    private readonly Radio _theMusicBox = new Radio();

    // Конструкторы.

    public Car() {}

    public Car(string name, int speed)

    {

      CurrentSpeed = speed;

      PetName = name;

    }

    public void CrankTunes(bool state)

    {

      // Делегировать запрос внутреннему объекту.

      _theMusicBox.TurnOn(state);

    }

    // Проверить, не перегрелся ли автомобиль.

    public void Accelerate(int delta)

    {

      if (_carIsDead)

      {

        Console.WriteLine("{0} is out of order...", PetName);

      }

      else

      {

        CurrentSpeed += delta;

        if (CurrentSpeed > MaxSpeed)

        {

          Console.WriteLine("{0} has overheated!", PetName);

          CurrentSpeed = 0;

          _carIsDead = true;

        }

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

        else

        {

          Console.WriteLine("=> CurrentSpeed = {0}",

            CurrentSpeed);

        }

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

      }

    }

  }

}

Обновите код в файле Program.cs, чтобы заставить объект Car превышать заранее заданную максимальную скорость (установленную в 100 внутри класса Car):

using System;

using System.Collections;

using SimpleException;

Console.WriteLine("***** Simple Exception Example *****");

Console.WriteLine("=> Creating a car and stepping on it!");

Car myCar = new Car("Zippy", 20);

myCar.CrankTunes(true);

for (int i = 0; i < 10; i++)

{

  myCar.Accelerate(10);

}

Console.ReadLine();

В результате запуска кода будет получен следующий вывод:

***** Simple Exception Example *****

=> Creating a car and stepping on it!

Jamming...

=> CurrentSpeed = 30

=> CurrentSpeed = 40

=> CurrentSpeed = 50

=> CurrentSpeed = 60

=> CurrentSpeed = 70

=> CurrentSpeed = 80

=> CurrentSpeed = 90

=> CurrentSpeed = 100

Zippy has overheated!

Zippy is out of order...

Генерация общего исключения

Теперь, имея функциональный класс Car, давайте рассмотрим простейший способ генерации исключения. Текущая реализация метода Accelerate() просто отображает сообщение об ошибке, если вызывающий код пытается разогнать автомобиль до скорости, превышающей верхний предел.

Чтобы модернизировать метод Accelerate() для генерации исключения, когда пользователь пытается разогнать автомобиль до скорости, которая превышает установленный предел, потребуется создать и сконфигурировать новый экземпляр класса System.Exception, установив значение доступного только для чтения свойства Message через конструктор класса. Для отправки объекта ошибки обратно вызывающему коду применяется ключевое слово throw языка С#. Ниже приведен обновленный код метода Accelerate():

Перейти на страницу:
Комментариев (0)