Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MetodichkaC_14ch1.doc
Скачиваний:
51
Добавлен:
26.03.2016
Размер:
1.61 Mб
Скачать

6.2. Одномерные массивы

Одномерные массивы используются в программах чаще всего. Варианты описания массива:

тип[] имя;

тип[] имя = new тип [ размерность ];

тип[] имя = { список_инициализаторов };

тип[] имя = new тип [] { список _инициализаторов };

тип[] имя = new тип [ размерность ] { список_инициализаторов };

Примечание:

При описании массивов квадратные скобки являются элементом синтаксиса, а не указанием на необязательность конструкции.

Примеры описаний (один пример для каждого варианта описания):

int[] а; // 1 элементов нет

int[] b = new int[4]; // 2 элементы равны О

int[] с= { 61, 2, 5,-9 }; // 3 new подразумевается

int[] d = new int[] { 61,2, 5, -9 }: //4 размерность вычисляется

int[] e = new int[4] { 61, 2, 5, -9 }: //5 избыточное описание

Для работы с массивами

Пример ввода и вывода одномерного вещественного массива:

// Ввод одномерного массива

Console.Write("Введите количество элементов массива n=");

int n = int.Parse(Console.ReadLine());

double[] a = new double[n];

for (int i = 0; i < n; i++) {

Console.Write("Введите a[{0}]=",i);

a[i] = double.Parse(Console.ReadLine());

}

// Вывод одномерного массива

Console.WriteLine("Исходный массив a:");

for (int i = 0; i < n; i++)

Console.Write("\t" + a[i]);

Console.WriteLine();

При выполнении программы получим следующий результат:

Введите количество элементов массива n=10

Введите a[0]=0,67

Введите a[1]=-5,7

Введите a[2]=2,44

Введите a[3]=8,9

Введите a[4]=-5,77

Введите a[5]=3,6

Введите a[6]=4,9

Введите a[7]=44,6

Введите a[8]=33,7

Введите a[9]=9,55

Исходный массив a:

0,67 -5,7 2,44 8,9 -5,77 3,6 4,9 44,6 33,7

Для продолжения нажмите любую клавишу . . .

    1. Класс System.Array и оператор foreach

Все массивы в С# построены на основе базового класса Array, который содержит полезные для программиста свойства и методы, часть из которых перечислены в таблице 1.

Таблица 6.

Основные элементы класса Array

Элемент

Вид

Описание

Length

Свойство

Количество элементов массива (по всем размерностям)

Rank

Свойство

Количество размерностей массива

BinarySearch()

Статический метод

Двоичный поиск в отсортированном массиве

Clear()

Статический метод

Присваивание элементам массива значений по умолчанию

Copy()

Статический метод

Копирование заданного диапазона элементов одного массива в другой массив

CopyTo()

Метод

Копирование всех элементов текущего одномерного массива в другой одномерный массив

GetValue()

Метод

Получение значения элемента массива

IndexOf

Статический метод

Поиск первого вхождения элемента в одномерный массив

LastlndexOf

Статический метод

Поиск последнего вхождения элемента в одномерный массив

Reverse()

Статический метод

Изменение порядка следования элементов на обратный

SetValue()

Метод

Установка значения элемента массива

Sort()

Статический метод

Упорядочивание элементов одномерного массива

Оператор foreach

Для перебора элементов массивов и коллекций в языке C# существует специальный цикл foreach:

foreach (<тип> <идентификатор> in <коллекция>) <блок>

В заголовке цикла объявляется переменная, которая будет последовательно принимать значения элементов коллекции (массива). При этом присваивание переменной новых значений не отражается на элементах коллекции (массива). Пример использования оператора foreach и методов класса Array:

int[] arr = {2,6,5,3,7,8,2,4};

Console. WriteLine(“Содержимое массива:”);

foreach (int val in arr)

Console.Write(“\T”+val);

Console. WriteLine();

Console. WriteLine(arr.Rank);// Результат равен 1

Array.Sort(arr); // сортировка массива

Array.Reverse(arr);// Изменение порядка следования элементов на обратный

Array. IndexOf (arr,2);// Результат равен 0

Array. LastlndexOf (arr,2);// Результат равен 6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]