Реализация упорядоченных коллекций с помощью списка<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# используется для управления упорядоченными коллекциями, обеспечения безопасности типов, динамического изменения размера и эффективного перечисления. Он поддерживает такие операции, как добавление, удаление и перебор элементов.