public void Sort(IComparercomparer) - Сортирует вызывающую коллекцию, используя для сравнения способ, задаваемый параметром comparer. Если параметр comparer имеет пустое значение, то для сравнения используется способ, выбираемый по умолчанию

public void Sort(Comparisoncomparison) - Сортирует вызывающую коллекцию, используя для сравнения указанный делегат

public void Sort(intindex, intcount,IComparer comparer) - Сортирует вызывающую коллекцию, используя для сравнения способ, задаваемый параметром comparer. Сортировка начинается с элемента, указываемого по индексу index, и включает количество элементов, определяемых параметром count. Если параметр comparer имеет пустое значение, то для сравнения используется способ, выбираемый по умолчанию

public T [ ] ToArray() - Возвращает массив, содержащий копии элементов вызывающего объекта

public void TrimExcess() - Сокращает емкость вызывающей коллекции таким образом, чтобы она не превышала 10% от количества элементов, хранящихся в ней на данный момент

В классе List определяется также собственное свойство Capacity, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Это свойство объявляется следующим образом.

public int Capacity { get; set; }

Свойство Capacity позволяет установить и получить емкость вызывающей коллекции в качестве динамического массива. Эта емкость равна количеству элементов, которые может содержать коллекция до ее вынужденного расширения. Такая коллекция расширяется автоматически, и поэтому задавать ее емкость вручную необязательно. Но из соображений эффективности это иногда можно сделать, если заранее известно количество элементов коллекции. Благодаря этому исключаются издержки на выделение дополнительной памяти.

В классе List реализуется также приведенный ниже индексатор, определенный в интерфейсе IList.

public Т this[int index] { get; set; }

С помощью этого индексатора устанавливается и получается значение элемента коллекции, указываемое по индексу index.

В приведенном ниже примере программы демонстрируется применение класса List. Это измененный вариант примера, демонстрировавшего ранее класс ArrayList. Единственное изменение, которое потребовалось для этого, заключалось в замене класса ArrayList классом List, а также в использовании параметров обобщенного типа.

// Продемонстрировать применение класса List.

using System;

using System.Collections.Generic;

class GenListDemo {

  static void Main() {

    // Создать коллекцию в виде динамического массива.

    List lst = new List();

    Console.WriteLine("Исходное количество элементов: " + lst.Count);

    Console.WriteLine();

    Console.WriteLine("Добавить 6 элементов");

    // Добавить элементы в динамический массив.

    lst.Add('С');

    lst.Add('А');

    lst.Add('Е');

    lst.Add('В');

    lst.Add('D');

    lst.Add('F');

    Console.WriteLine("Количество элементов: " + lst.Count);

    // Отобразить содержимое динамического массива,

    // используя индексирование массива.

    Console.Write("Текущее содержимое: ");

    for (int i=0; i < lst.Count;. i++)

      Console.Write(lst[i] + " ");

    Console.WriteLine("\n");

    Console.WriteLine("Удалить 2 элемента ");

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

    lst.Remove('F');

    lst.Remove('А');

    Console.WriteLine("Количество элементов: " + lst.Count);

    // Отобразить содержимое динамического массива, используя цикл foreach.

    Console.Write("Содержимое: ");

    foreach(char с in lst)

      Console.Write(с + " ");

    Console.WriteLine("\n");

    Console.WriteLine("Добавить еще 20 элементов");

    // Добавить количество элементов, достаточное для

    // принудительного расширения массива,

Перейти на страницу:

Похожие книги