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

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

Книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

177 0 18:04, 26-08-2023
Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
26 август 2023

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

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

    1 ... 33 34 35 36 37 38 39 40 41 ... 407
    Перейти на страницу:
    класса такого рода, например, члены для возвращения длины символьных данных, поиска подстрок в текущей строке и преобразования символов между верхним и нижним регистрами. В табл. 3.5 перечислены некоторые интересные члены этого класса.

    Выполнение базовых манипуляций со строками

    Работа с членами System.String выглядит вполне ожидаемо. Просто объявите переменную string и задействуйте предлагаемую типом функциональность через операцию точки. Не следует забывать, что несколько членов System.String являются статическими и потому должны вызываться на уровне класса (а не объекта).

    Создайте новый проект консольного приложения по имени FunWithStrings и добавьте его в свое решение. Замените существующий код следующим кодом:

    using System;

    using System.Text;

    BasicStringFunctionality();

    static void BasicStringFunctionality()

    {

      Console.WriteLine("=> Basic String functionality:");

      string firstName = "Freddy";

      // Вывод значения firstName.

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

      // Вывод длины firstname.

      Console.WriteLine("firstName has {0} characters.", firstName.Length);

      // Вывод firstName в верхнем регистре.

      Console.WriteLine("firstName in uppercase: {0}", firstName.ToUpper());

      // Вывод firstName в нижнем регистре.

      Console.WriteLine("firstName in lowercase: {0}", firstName.ToLower());

      // Содержит ли firstName букву у?

      Console.WriteLine("firstName contains the letter y?: {0}",

                         firstName.Contains("y"));

      // Вывод firstName после замены.

      Console.WriteLine("New first name: {0}", firstName.Replace("dy", ""));

      Console.WriteLine();

    }

    Здесь объяснять особо нечего: метод просто вызывает разнообразные члены, такие как ToUpper() и Contains(), на локальной переменной string, чтобы получить разные форматы и трансформации. Ниже приведен вывод:

    ***** Fun with Strings *****

    => Basic String functionality:

    Value of firstName: Freddy

    firstName has 6 characters.

    firstName in uppercase: FREDDY

    firstName in lowercase: freddy

    firstName contains the letter y?: True

    firstName after replace: Fred

    Несмотря на то что вывод не выглядит особо неожиданным, вывод, полученный в результате вызова метода Replace(), может вводить в заблуждение. В действительности переменная firstName вообще не изменяется; взамен получается новая переменная string в модифицированном формате. Чуть позже мы еще вернемся к обсуждению неизменяемой природы строк.

    Выполнение конкатенации строк

    Переменные string могут соединяться вместе для построения строк большего размера с помощью операции + языка С#. Как вам должно быть известно, такой прием формально называется конкатенацией строк. Рассмотрим следующую вспомогательную функцию:

    static void StringConcatenation()

    {

      Console.WriteLine("=> String concatenation:");

      string s1 = "Programming the ";

      string s2 = "PsychoDrill (PTP)";

      string s3 = s1 + s2;

      Console.WriteLine(s3);

      Console.WriteLine();

    }

    Интересно отметить, что при обработке символа + компилятор C# выпускает вызов статического метода String.Concat(). В результате конкатенацию строк можно также выполнять, вызывая метод String.Concat() напрямую (хотя фактически это не дает никаких преимуществ, а лишь увеличивает объем набираемого кода):

    static void StringConcatenation()

    {

      Console.WriteLine("=> String concatenation:");

      string s1 = "Programming the ";

      string s2 = "PsychoDrill (PTP)";

      string s3 = String.Concat(s1, s2);

      Console.WriteLine(s3);

      Console.WriteLine();

    }

    Использование управляющих последовательностей

    Подобно другим языкам, основанным на С, строковые литералы C# могут содержать разнообразные управляющие последовательности, которые позволяют уточнять то, как символьные данные должны быть представлены в потоке вывода. Каждая управляющая последовательность начинается с символа обратной косой черты, за которым следует специфический знак. В табл. 3.6 перечислены наиболее распространенные управляющие последовательности.

    Например, чтобы вывести строку, которая содержит символ табуляции после каждого слова, можно задействовать управляющую последовательность t. Или предположим, что нужно создать один строковый литерал с символами кавычек внутри, второй — с определением пути к каталогу и третий — со вставкой трех пустых строк после вывода символьных данных. Для этого можно применять управляющие последовательности ", \ и n. Кроме того, ниже приведен еще один пример, в котором для привлечения внимания каждый строковый литерал сопровождается звуковым сигналом:

    static void EscapeChars()

    {

      Console.WriteLine("=> Escape characters:a");

      string strWithTabs = "ModeltColortSpeedtPet Namea ";

      Console.WriteLine(strWithTabs);

      Console.WriteLine("Everyone loves "Hello World"a ");

      Console.WriteLine("C:\MyApp\bin\Debuga ");

      // Добавить четыре пустых строки и снова выдать звуковой сигнал.

      Console.WriteLine("All finished.nnna ");

      Console.WriteLine();

    }

    Выполнение интерполяции строк

    Синтаксис с фигурными скобками, продемонстрированный ранее в главе ({0}, {1} и т.д.), существовал в рамках платформы .NET еще со времен версии 1.0. Начиная с выхода версии C# 6, при построении строковых литералов, содержащих заполнители для переменных, программисты на C# могут использовать альтернативный синтаксис. Формально он называется интерполяцией строк. Несмотря на то что выходные данные операции идентичны выходным данным, получаемым с помощью традиционного синтаксиса форматирования строк, новый подход позволяет напрямую внедрять сами переменные, а не помещать их в список с разделителями-запятыми.

    Взгляните на показанный ниже дополнительный метод в нашем классе Program(StringInterpolation()), который строит переменную типа string с применением обоих подходов:

    static void StringInterpolation()

    {

        Console.WriteLine("=> String interpolation:a");

        // Некоторые локальные переменные будут включены в крупную строку.

        int age = 4;

        string name = "Soren";

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

        string greeting = string.Format("Hello {0} you are {1} years old.",

                                         name, age);

        Console.WriteLine(greeting);

        // Использование интерполяции строк.

        string greeting2 = $"Hello {name} you are {age} years old.";

        Console.WriteLine(greeting2);

    }

    В переменной greeting2 легко заметить, что конструируемая строка начинается с префикса $. Кроме того, фигурные скобки по-прежнему используются для пометки заполнителя под переменную; тем не менее, вместо применения числовой метки имеется возможность указывать непосредственно переменную. Предполагаемое преимущество заключается в том, что новый синтаксис несколько легче читать в линейной манере (слева направо) с учетом того, что не требуется "перескакивать в конец" для просмотра списка значений, подлежащих вставке во время выполнения.

    С новым синтаксисом связан еще один

    1 ... 33 34 35 36 37 38 39 40 41 ... 407
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


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

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Лариса Лариса04 июнь 12:43 Да, просто до слез похоже на сериал ,,Даррел,,... Смерть в райском уголке - Эмили Салливан
    2. Stmara Stmara02 июнь 22:44 Приятная история, чтобы скоротать вечер. Любимая книга из последних "Любовь со смертью", также очень понравилась -"Суженная... Сердце космического дракона - Ольга Вадимовна Гусейнова
    3. Alex Alex01 июнь 17:12 💩💩💩🖕🖕🖕🖕🖕🖕🖕... Игровой момент II - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки