Использование свойства length

      Комментарии к записи Использование свойства length отключены

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

int[] sample = new int [10];

int val = sample.Length;

Цикл foreach

В С# появился цикл foreach, который позволяет перебирать коллекции. Коллекции – это группа объектов. В C# определены несколько типов коллекций, одним из которых является массив.

В цикле foreach удобно также перебирать объекты, поддерживающие перечисление, например, списки, словари и т.д.

Общий формат синтаксиса имеет вид:

foreach (type var_name in collection)

{

statements;

}

Здесь словосочетание typevar_name – это тип и имя итерационной переменной, которая будет принимать значения из коллекции при выполнении цикла foreach. Циклически обрабатываемая коллекция указывается словом collection.

Цикл работает в полном соответствии со своим названием — тело цикла выполняется для каждого элемента в контейнере. Тип идентификатора должен быть согласован с типом элементов, хранящихся в контейнере данных. Предполагается также, что элементы контейнера (массива, коллекции) упорядочены. На каждом шаге цикла идентификатор, задающий текущий элемент контейнера, получает значение очередного элемента в соответствии с порядком, установленным на элементах контейнера. С этим текущим элементом и выполняется тело цикла — выполняется столько раз, сколько элементов находится в контейнере. Цикл заканчивается, когда полностью перебраны все элементы контейнера.

Серьезным недостатком циклов foreach в языке C# является то, что цикл работает только на чтение, но не на запись элементов. Так что наполнять контейнер элементами приходится с помощью других операторов цикла.

В следующем примере в цикле foreach производится обработка массива.

int k;

int[] mas = new int[5];

for(k=0; k5; k++) mas[k]=k;

sum = 0;

foreach(int i in mas)

{

Console.Write( Элемент массива =+ i);

sum += i;

}

То есть, обработка элементов массива с помощью цикла foreach производится в порядке возрастания их индексов.

С помощью цикла foreach можно также перебирать элементы многомерных массивов. При этом последовательно обрабатываются элементы от первого до последнего в каждой строке.

Очень удобно перебирать с помощью цикла foreach различные коллекции, например, список.

Класс List

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

Общий синтаксис по описанию и созданию списка следующий.

List name = new List();

Здесь type – один из возможных типов. Все элементы создаваемого списка будут иметь этот тип. Имя коллекции задает параметр name.

После своего создания список может быть пополнен элементами. Любой элемент может быть удален в любой момент и т.д.

Для добавления элементов в список в нем реализовано несколько методов:

Метод Описание
Add([элемент]) добавляет элемент в конец списка
AddRange([список элементов]) добавляет в конец списка элементы указанного списка
Insert([индекс],[элемент]) вставляет элемент на позицию соответствующую индексу, все элементы «правее» будут сдвинуты на одну позицию
InsertRange([индекс], [список элементов]) то же самое, только вставляется множество элементов

List dinosaurs = new List();

dinosaurs.Add(Tyrannosaurus);

dinosaurs.Add(Amargasaurus);

dinosaurs.Add(Mamenchisaurus);

Удаление элементов

Метод Описание
Remove([элемент]) удаляет первое вхождение указанного элемента из списка
RemoveRange([индекс], [количество]) удаляет указанное количество элементов, начиная с указанной позиции
RemoveAt([индекс]) удаляет элемент, который находится на указанной позиции
Clear() удаляет все элементы списка

Свойство Count соответствует свойству обычного массива – Length – количество элементов.

Метод Contains позволяет определить, входит ли указываемый в функции элемент в список.

Возвращаясь к циклу foreach. Определим список объектов Car. Тогда работать с его элементами с помощью данного типа цикла становится очень удобно.

List cars = new List();

Заполняем список машинами

foreach ( Car car in cars )

{

Статьи к прочтению:

28.Свойство length


Похожие статьи: