Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справка.doc
Скачиваний:
12
Добавлен:
07.02.2015
Размер:
367.1 Кб
Скачать

Закрытые, защищенные и открытые поля

При объявлении полей так, как показано выше, мы можем решить, должны ли другие классы иметь доступ к ним или нет. Иногда очень важно делать поля закрытыми (private), например потому что другой класс может помещать неверные значения в поля и нарушать работу программы. Использование полей «private», «protected» и «public» означает насколько безопасным будет наш класс.

Вы может поинтересоваться, а что если мы не станем включать эти слова. В этом случае компьютер молча воспринимает код, как если бы в начале объявления было написано слово «private», поскольку «private» задается по умолчанию. Поэтому поле hasTail автоматически становится закрытым (private).

Что означают эти слова?

  • Private означает, что «объекты только этого класса могут обращаться к данному полю»

  • Public означает, что «объекты любого класса могут обращаться к этому полю»

  • Protected означает, что «только объекты тесно связанных классов могут обращаться к полю»

Массив ArrayList

Для работы с контейнерами необходимо подключить пространство имен System.Collections:

В массив ArrayList в отличие от обычного массива, можно записывать данные любого типа.

Создание массива

Массив ArrayListсоздается при помощи конструктора

Пример 1:

ArrayList myList = new ArrayList();

Здесь мы не указываем начальную длину массива, по умолчанию она равна 16.

Пример 2:

ArrayList myList = new ArrayList()10;

В данном примере начальный размер массива равен 10.

Преимущество массива ArrayList состоит в том, что не нужно беспокоиться о размере массива, по мере добавления элементов размер будет увеличиваться автоматически.

Пример 3:

ArrayList myList = new ArrayList();

ArrayList myList1 = new ArrayList(myList);

Здесь мы создали новый массив на основе уже существующего.

Добавление элементов в массив

Для добавления элементов в массив ArrayList преднозначен метод Add. После добавления метод Add возвращает индекс нового элемента.

Пример:

ArrayList myList = new ArrayList();

myList.Add(“Hello ”);

myList.Add(“C# ”);

myList.Add(“World”);

myList.Add(“!”);

Чтение элементов из массива

Для чтения элементов нам понадобится метод Count – определяет размер массива.

For (int i=0; i<myList.count; i++)

{

System.Console.WriteLine(“{0}”,myList[i]);

}

При помощи данной конструкции мы выведем все элементы массива на экран.

Изменение элементов массива

Для начала обратим внимание на следующее. Сначала элементы должны быть добавлены при помощи метода Add, а только после можно менять их. А после изменяют элементы при помощи задания индекса в квадратных скобках

Например:

ArrayList myList = new ArrayList();

myList.Add(“Hello ”);

myList.Add(“C# ”);

myList.Add(“World”);

myList.Add(“!”);

//создали массив

myList[0]=”Привет”;

//Теперь вместо слова Hello в первой ячейке будет слово Привет.

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

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

  1. МетодClearудаляет все элементы из массива. (myList.Clear)

  2. Метод Remowe удаляет из массива заданный элемент (myList.Remowe(“Hello”) – удалит из массива ячейку со словом Hello)

  3. Метод RemoweAt удаляет элемент по индексу (myList.RemoweAt(2) – удалит элемент с индексом равным 2)

  4. Метод RemoweRange удаляет диапазон элементов расположенных рядом (myList.RemoweRange(1,2) – удалит элементы с индексами от 1 до 2);

Сортировка

Для сортировки используется несколько перегруженных методов Sort.

Пример:

ArrayList myList= new ArrayList();

myList.Add(“Каждый”);

myList.Add(“Охотник”);

myList.Add(“Желает”);

myList.Add(“Знать”);

myList.Add(“Где”);

myList.Add(“Сидит”);

myList.Add(“Фазан”);

myList.Sort();

for (i=0; i<myList.Count; i++)

{

System.Console.Writeln(“{0}”, myList[i]);

}

System.Console.ReadLine();

Проверьте что получится после выполнения программы:

“Где желает знать каждый охотник сидит фазан”

Обратное расположение элементов

Для изменения расположения элементов на обратное используется метод Rewerse

Поиск в массиве

В массивах чаще всего используется метод бинарного поиска BinarySearch. В качестве параметра этому методу нужно передать искомый элемент. При успехе метод вернет индекс найденного элемента, а в том случае, если элемент не найден, - отрицательное значение.

Пример:

ArrayList myList= new ArrayList();

myList.Add(“Каждый”);

myList.Add(“Охотник”);

myList.Add(“Желает”);

myList.Add(“Знать”);

myList.Add(“Где”);

myList.Add(“Сидит”);

myList.Add(“Фазан”);

myList.Sort();

String search=”Сидит”;

Int index=myList.BinarySearch(search);

System.Console. Writeln(index);