Использование свойства 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
Похожие статьи:
-
Среда разработки Delphi обеспечивает разработчика средствами и инструментарием для создания программ методами объектно-ориентированного программирования….
-
Коллекции типа sortedlist. эти свойства определяются в интерфейсе idictionary следующим образом.
public virtual ICollection Keys { get; } public virtual ICollection Values { get; } Порядок следования ключей и значений отражает порядок их расположения…