Реализация упорядоченных коллекций с помощью списка<T>

Завершено

Упорядоченные коллекции в C#, такие как List<T> класс, выполняют общие операции, такие как добавление, удаление и итерация элементов. Пример, где List<T> управляет списком учащихся или книг.

Использование List<T> для управления упорядоченными коллекциями

List<T> — это универсальная коллекция, предназначенная для сценариев, в которых необходимо хранить упорядоченную последовательность элементов определенного типа иT управлять ими. Он обеспечивает безопасность типов, более высокую производительность и гибкость по сравнению с не универсальными коллекциями, например ArrayList, устраняя необходимость приведения типов при доступе к элементам.

Замечание

<T> в List<T> — заполнитель для типа элементов, которые хранятся в списке. Например, List<string> определяет список строк, а также List<int> определяет список целых чисел. При объявлении списка укажите тип.

  • Используйте List<T>, когда вам нужно:
    • Индексируемый доступ к элементам.
    • Динамическое изменение размера коллекции.
    • Эффективное перечисление с помощью foreach циклов.
  • Избегайте использования List<T> в общедоступных API. Вместо этого рассмотрите более специализированные типы коллекций для повышения абстракции и гибкости.

Замечание

List<T> автоматически расширяет емкость при необходимости, но это расширение может повлиять на производительность. Чтобы оптимизировать, задайте начальную емкость на основе предполагаемого размера коллекции.

Добавляйте, удаляйте и перебирайте элементы в List<T>

List<T> предоставляет методы для эффективного добавления, удаления и итерации элементов. Эти операции просты и часто используются в разработке приложений.

  • Добавление элементов. Чтобы добавить элементы в список, используйте Add этот метод.
  • Удаление элементов: чтобы удалить элементы, используйте такие методы, как Remove, RemoveAtили Clear.
  • Итерации по элементам: для перечисления используйте цикл или LINQ (языковой интегрированный foreach запрос).
// Example: Adding, removing, and iterating through a List<T>

// Define the type T as string for this list
List<string> books = new List<string>(); // T is string
books.Add("Book A"); // Add a string to the list
books.Add("Book B");
books.Add("Book C");
books.Remove("Book A"); // Remove a specific string from the list

foreach (string book in books) // Iterate through the list
{
    Console.WriteLine(book);
}

// Expected output:
// Book B
// Book C

В этом примере показано, как добавлять элементы в List<T>, при этом сохраняя существующие элементы, удалять элементы из определённых мест в списке и выполнять итерацию по списку для отображения его содержимого.

Подсказка

Запросы LINQ могут упростить операции фильтрации, упорядочивания и группировки на List<T>.

Управление списком учащихся или книг с помощью List<T>

List<T> идеально подходит для управления коллекциями объектов, таких как учащиеся или книги. Вы можете определить пользовательский класс для элементов и применить List<T> к их хранению и манипулировать ими.

// Example: Managing a list of students
public class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
}

List<Student> students = new List<Student>
{
    new Student { Name = "Haneul", Age = 20 },
    new Student { Name = "Magda", Age = 22 }
};

students.Add(new Student { Name = "Dale", Age = 23 });
students.RemoveAt(0); // Remove Haneul

foreach (Student student in students)
{
    Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}

// Expected output:
// Name: Magda, Age: 22
// Name: Dale, Age: 23

Замечание

Для динамической привязки данных в приложениях пользовательского интерфейса рекомендуется использовать ObservableCollection<T> вместо List<T> для автоматического обновления пользовательского интерфейса при изменении коллекции.

List в C# используется для управления упорядоченными коллекциями, обеспечения безопасности типов, динамического изменения размера и эффективного перечисления. Он поддерживает такие операции, как добавление, удаление и перебор элементов.