Жанры книг
Мы в соц.сетях
ParaKnig📚 » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<< На главную

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 201 202 203 204 205 206 207 208 209 ... 642
Перейти на страницу:

{

  public class Person

  {

    public int Age {get; set;}

    public string FirstName {get; set;}

    public string LastName {get; set;}

    public Person(){}

    public Person(string firstName, string lastName, int age)

    {

      Age = age;

      FirstName = firstName;

      LastName = lastName;

    }

    public override string ToString()

    {

      return $&quot;Name: {FirstName} {LastName}, Age: {Age}&quot;;

    }

  }

}

Удалите сгенерированный код из файла Program.cs и добавьте следующие операторы using:

using System;

using System.Collections.Generic;

using FunWithGenericCollections;

Первым будет исследоваться обобщенный класс List&lt;T&gt;, который уже применялся ранее в главе. Класс List&lt;T&gt; используется чаще других классов из пространства имен System.Collections.Generic, т.к. он позволяет динамически изменять размер контейнера. Чтобы ознакомиться с его особенностями, добавьте в класс Program метод UseGenericList(), в котором задействован класс List&lt;T&gt; для манипулирования набором объектов Person; вспомните, что в классе Person определены три свойства (Age, FirstName и LastName), а также специальная реализация метода ToString():

static void UseGenericList()

{

  // Создать список объектов Person и заполнить его с помощью

  // синтаксиса инициализации объектов и коллекции.

  List&lt;Person&gt; people = new List&lt;Person&gt;()

  {

    new Person {FirstName= &quot;Homer&quot;, LastName=&quot;Simpson&quot;, Age=47},

    new Person {FirstName= &quot;Marge&quot;, LastName=&quot;Simpson&quot;, Age=45},

    new Person {FirstName= &quot;Lisa&quot;, LastName=&quot;Simpson&quot;, Age=9},

    new Person {FirstName= &quot;Bart&quot;, LastName=&quot;Simpson&quot;, Age=8}

  };

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

  // Вывести количество элементов в списке.

  Console.WriteLine(&quot;Items in list: {0}&quot;, people.Count);

  // Выполнить перечисление по списку.

  foreach (Person p in people)

  {

    Console.WriteLine(p);

  }

  // Вставить новый объект Person.

  Console.WriteLine(&quot;n-&gt;Inserting new person.&quot;);

  people.Insert(2, new Person { FirstName = &quot;Maggie&quot;,

                                LastName = &quot;Simpson&quot;, Age = 2 });

  Console.WriteLine(&quot;Items in list: {0}&quot;, people.Count);

  // Скопировать данные в новый массив.

  Person[] arrayOfPeople = people.ToArray();

  foreach (Person p in arrayOfPeople)  // Вывести имена

  {

    Console.WriteLine(&quot;First Names: {0}&quot;, p.FirstName);

  }

}

Здесь для наполнения списка List&lt;T&gt; объектами применяется синтаксис инициализации в качестве сокращенной записи многократного вызова метода Add(). После вывода количества элементов в коллекции (и прохода по всем элементам) вызывается метод Insert(). Как видите, метод Insert() позволяет вставлять новый элемент в List&lt;T&gt; по указанному индексу.

Наконец, обратите внимание на вызов метода ToArray(), который возвращает массив объектов Person, основанный на содержимом исходного списка List&lt;T&gt;. Затем осуществляется проход по всем элементам данного массива с использованием синтаксиса индексатора массива. Вызов метода UseGenericList() в операторах верхнего уровня приводит к получению следующего вывода:

***** Fun with Generic Collections *****

Items in list: 4

Name: Homer Simpson, Age: 47

Name: Marge Simpson, Age: 45

Name: Lisa Simpson, Age: 9

Name: Bart Simpson, Age: 8

-&gt;Inserting new person.

Items in list: 5

First Names: Homer

First Names: Marge

First Names: Maggie

1 ... 201 202 203 204 205 206 207 208 209 ... 642
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Лариса
Лариса 11.03.2026 - 20:17
Странно,здесь имя девочки Аграфена,а на других сайтах я прослушала три книги этого цикла с именем Дарвина.Зачем менять имя и путать читателей? Опечатка- не Дарвина,  а  Дарина.
Григорий
Григорий 09.04.2025 - 22:24
Лучшая книга всех времен
Женя
Женя 02.04.2025 - 16:08
Любимая книга