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

Тут можно читать бесплатно Язык программирования 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 - Троелсен Эндрю - читать книгу онлайн бесплатно, автор Троелсен Эндрю

static void ExecutePatternMatchingSwitchWithWhen()

{

  Console.WriteLine("1 [C#], 2 [VB]");

  Console.Write("Please pick your language preference: ");

  object langChoice = Console.ReadLine();

  var choice = int.TryParse(langChoice.ToString(),

                            out int c) ? c : langChoice;

  switch (choice)

  {

    case int i when i == 2:

    case string s when s.Equals("VB", StringComparison.OrdinalIgnoreCase):

      Console.WriteLine("VB: OOP, multithreading, and more!");

                      // VB: ООП, многопоточность и многое другое!

      break;

    case int i when i == 1:

    case string s when s.Equals("C#", StringComparison.OrdinalIgnoreCase):

      Console.WriteLine("Good choice, C# is a fine language.");

                      // Хороший выбор. C# - замечательный язык.

      break;

    default:

      Console.WriteLine("Well...good luck with that!");

                      // Хорошо, удачи с этим!

      break;

  }

  Console.WriteLine();

}

Здесь к оператору switch добавляется новое измерение, поскольку порядок следования операторов case теперь важен. При использовании образца с константами каждый оператор case обязан быть уникальным. В случае применения образца с типами это больше не так. Например, следующий код будет давать совпадение для каждого целого числа в первом операторе case, а второй и третий оператор case никогда не выполнятся (на самом деле такой код даже не скомпилируется):

switch (choice)

{

  case int i:

    //do something

    break;

  case int i when i == 0:

    //do something

    break;

  case int i when i == -1:

    // do something

    break;

}

В первоначальном выпуске C# 7 возникало небольшое затруднение при сопоставлении с образцом, когда в нем использовались обобщенные типы. В версии C# 7.1 проблема была устранена. Обобщенные типы рассматриваются в главе 10.

На заметку! Все продемонстрированные ранее улучшения сопоставления с образцом в C# 9.0 также можно применять в операторах switch.

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

Использование выражений switch (нововведение в версии 8.0)

В версии C# 8 появились выражения switch, позволяющие присваивать значение переменной в лаконичном операторе. Рассмотрим версию C# 7 метода FromRainbowClassic(), который принимает имя цвета и возвращает для него шестнадцатеричное значение:

static string FromRainbowClassic(string colorBand)

{

  switch (colorBand)

  {

    case "Red":

      return "#FF0000";

    case "Orange":

      return "#FF7F00";

    case "Yellow":

      return "#FFFF00";

    case "Green":

      return "#00FF00";

    case "Blue":

      return "#0000FF";

    case "Indigo":

      return "#4B0082";

    case "Violet":

      return "#9400D3";

    default:

      return "#FFFFFF";

  };

}

С помощью новых выражений switch в C# 8 код предыдущего метода можно переписать следующим образом, сделав его гораздо более лаконичным:

static string FromRainbow(string colorBand)

{

  return colorBand switch

  {

    "Red" => "#FF0000",

    "Orange" => "#FF7F00",

    "Yellow" => "#FFFF00",

    "Green" => "#00FF00",

    "Blue" => "#0000FF",

    "Indigo" => "#4B0082",

    "Violet" => "#9400D3",

    _ => "#FFFFFF",

  };

}

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