Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Использование свойства 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; k < 5; k ++) mas[k]=k;

sum = 0;

foreach(int i in mas)

{

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

sum += i;

}

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

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

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

 

Класс List

 

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

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

 

List<type> name = new List<type>();

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

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

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

 

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

 

List<string> dinosaurs = new List<string>();

dinosaurs.Add("Tyrannosaurus");

dinosaurs.Add("Amargasaurus");

dinosaurs.Add("Mamenchisaurus");

 

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

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

 

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

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

 

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

 

List<Car> cars = new List<Car>();

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

foreach (Car car in cars)

{





Поделиться с друзьями:


Дата добавления: 2017-04-15; Мы поможем в написании ваших работ!; просмотров: 257 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент всегда отчаянный романтик! Хоть может сдать на двойку романтизм. © Эдуард А. Асадов
==> читать все изречения...

4565 - | 4249 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.