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 ... 46 47 48 49 50 51 52 53 54 ... 407
    Перейти на страницу:
    Console.WriteLine();

    }

    Здесь во время прохода по содержимому массива myObjects для каждого элемента выводится лежащий в основе тип, получаемый с помощью метода GetType() класса System.Object, и его значение.

    Не вдаваясь пока в детали работы метода System.Object.GetType(), просто отметим, что он может использоваться для получения полностью заданного имени элемента (службы извлечения информации о типах и рефлексии исследуются в главе 17). Приведенный далее вывод является результатом вызова метода ArrayOfObjects():

    => Array of Objects.

    Type: System.Int32, Value: 10

    Type: System.Boolean, Value: False

    Type: System.DateTime, Value: 3/24/1969 12:00:00 AM

    Type: System.String, Value: Form & Void

    Работа с многомерными массивами

    В дополнение к одномерным массивам, которые вы видели до сих пор, в языке C# поддерживаются два вида многомерных массивов. Первый вид называется прямоугольным массивом, который имеет несколько измерений, а содержащиеся в нем строки обладают одной и той же длиной. Прямоугольный многомерный массив объявляется и заполняется следующим образом:

    static void RectMultidimensionalArray()

    {

      Console.WriteLine("=> Rectangular multidimensional array.");

      // Прямоугольный многомерный массив.

      int[,] myMatrix;

      myMatrix = new int[3,4];

      // Заполнить массив (3 * 4).

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

      {

        for(int j = 0; j < 4; j++)

        {

          myMatrix[i, j] = i * j;

        }

      }

      // Вывести содержимое массива (3 * 4).

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

      {

        for(int j = 0; j < 4; j++)

        {

          Console.Write(myMatrix[i, j] + "t");

        }

        Console.WriteLine();

      }

      Console.WriteLine();

    }

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

    static void JaggedMultidimensionalArray()

    {

      Console.WriteLine("=> Jagged multidimensional array.");

      // Зубчатый многомерный массив (т.е. массив массивов).

      // Здесь мы имеем массив из 5 разных массивов.

      int[][] myJagArray = new int[5][];

      // Создать зубчатый массив.

      for (int i = 0; i < myJagArray.Length; i++)

      {

        myJagArray[i] = new int[i + 7];

      }

      // Вывести все строки (помните, что каждый элемент имеет

      // стандартное значение 0).

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

      {

        for(int j = 0; j < myJagArray[i].Length; j++)

        {

          Console.Write(myJagArray[i][j] + " ");

        }

        Console.WriteLine();

      }

      Console.WriteLine();

    }

    Ниже показан вывод, полученный в результате вызова методов RectMultidimensionalArray() и JaggedMultidimensionalArray():

    => Rectangular multidimensional array:

    0       0       0       0

    0       1       2       3

    0       2       4       6

    => Jagged multidimensional array:

    0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0

    Использование массивов в качестве аргументов и возвращаемых значений

    После создания массив можно передавать как аргумент или получать его в виде возвращаемого значения. Например, приведенный ниже метод PrintArray() принимает входной массив значений int и выводит все его элементы на консоль, а метод GetStringArray() заполняет массив значений string и возвращает его вызывающему коду:

    static void PrintArray(int[] myInts)

    {

      for(int i = 0; i < myInts.Length; i++)

      {

        Console.WriteLine("Item {0} is {1}", i, myInts[i]);

      }

    }

    static string[] GetStringArray()

    {

      string[] theStrings = {"Hello", "from", "GetStringArray"};

      return theStrings;

    }

    Указанные методы вызываются вполне ожидаемо:

    static void PassAndReceiveArrays()

    {

      Console.WriteLine("=> Arrays as params and return values.");

      // Передать массив в качестве параметра.

      int[] ages = {20, 22, 23, 0} ;

      PrintArray(ages);

      // Получить массив как возвращаемое значение.

      string[] strs = GetStringArray();

      foreach(string s in strs)

      {

        Console.WriteLine(s);

      }

      Console.WriteLine();

    }

    К настоящему моменту вы должны освоить процесс определения, заполнения и исследования содержимого переменной типа массива С#. Для полноты картины давайте проанализируем роль класса System.Array.

    Использование базового класса System.Array

    Каждый создаваемый массив получает значительную часть своей функциональности от класса System.Array. Общие члены этого класса позволяют работать с массивом, применяя согласованную объектную модель. В табл. 4.1 приведено краткое описание наиболее интересных членов класса System.Array (полное описание всех его членов можно найти в документации).

    Давайте посмотрим на некоторые из членов в действии. Показанный далее вспомогательный метод использует статические методы Reverse() и Clear() для вывода на консоль информации о массиве строковых типов:

    static void SystemArrayFunctionality()

    {

      Console.WriteLine("=> Working with System.Array.");

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

      string[] gothicBands = {"Tones on Tail", "Bauhaus", "Sisters of Mercy"};

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

      Console.WriteLine("-> Here is the array:");

      for (int i = 0; i < gothicBands.Length; i++)

      {

        // Вывести имя.

        Console.Write(gothicBands[i] + ", ");

      }

      Console.WriteLine("n");

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

      Array.Reverse(gothicBands);

      Console.WriteLine("-> The reversed array");

      // ...и вывести их.

      for (int i = 0; i < gothicBands.Length; i++)

      {

        // Вывести имя.

        Console.Write(gothicBands[i] + ", ");

      }

      Console.WriteLine("n");

      // Удалить все элементы кроме первого.

      Console.WriteLine("-> Cleared out all

    1 ... 46 47 48 49 50 51 52 53 54 ... 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 - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки