Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 49

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 404 >> Следующая


int[] mylntArray; mylntArrayflO] *= 5 г

Массивы могут быть инициализированы двумя способами. Мы можем либо задать полное содержимое массива в литеральной форме, либо указать размер массива и использовать для инициализации всех его элементов ключевое слово new (новый).

Определение значений элементов массива в литеральной форме предполагает задание списка значений, разделенных запятыми и заключенных в фигурные скобки. Например:

int[] mylntArray = (5, 9, 10, 2, 99}j
94

Глава 5

В данном случае описывается массив, состоящий их пяти элементов, и всем им присваивается целое значение. ,

Второй способ предполагает использование следующего синтаксиса:

int 11 vylntArray * new int[5] j

Здесь используется ключевое слово new для явной инициализации массива и константа для определения его размера. При этом методе всем вхождениям массива будет присвоено значение по умолчанию, которое для численных типов равно 0. Для инициализации массивов вместо констант с тем же успехом можно использовать переменные, например:

int(] jnylnbArray * new int 1рлзыерНассива) j

Прн желании можно одновременно использовать оба метода: inti] пуГпсАггау = new int[5] (S, 9, 10, 2, 99};

В этом случае размеры массива должны совпадать с количеством элементов в списке. Следующая запись является недопустимой:

int:11 mylntArray ¦ new int[10] 15, 9, 10» 2, 99}]

Здесь описывается массив, состоящий из 10 элементов, а определяются только 5 из них; компиляция этой записи не пройдет. Побочным эффектом такого положения вещей является то, что если мы описываем размерность массива с помощью переменной, то она должна являться константой. Например:

const: trie arraySize “ 5i

intlJ nylntArray - new int [arraySize] 15, 9,10, 2, 99} j

Если ключевое слово const будет пропущено, программа работать не будет.

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

int[] шуIntArray|

nylntArray * new int [5] i ¦

Теперь вы уже знаете достаточно для того, чтобы попробовать иапнеать некоторую программу.

Прантинум: использование массивов

1. Создайте новое консольное приложение с именем ch0SEx04 В директории C:\BegCSharp\Chapter5.

2. Добавьте следующий код в ciassi.es:

static void Main(string[] args)

( ____________________________________________________________

string(] friendNamea ¦ {'Robert Barwell', Parry',

*Jerenv BeacocJt" };

int it

Console. WriteLine ['Her* are (0) of щу friends»', fri*ndHamea.Length) ‘ i for (1 » 0j i < friendNames.Length; i++)

{

Console.WriteLine(friendNames[i]);
Дополнительные сведения о переменных

95

- L:\tiefiC5hrtFp\cj hiptcrsSCtui Hf*IB

3 ft!! iH*l: я III и 'У frirjjabi-

l.'ij bf &‘1 и.иЧЛ' 11 ft 1 kb- Гл l' Г I*

J tj! V L I 111 L'iJ-l- IH.i.

Pr ¦- iii g; v 1 ¦1 ‘ !>> ' ¦> ¦ * -1 = • l ¦ i ¦-1 ¦

at

Ы

3. Запустите программу (см. рис. справа).

Как это работает

В этом коде объявляется массив типа string, состоящий из трех значений, которые затем

выводятся на консоль с помощью цикла for. Обратите внимание, что существует возможность узнать общее количество элементов массива посредством параметра friendNames.Length:

Console.WriteLine("Here are (0) of ny friends:*! friendNames.Length)j

Это очень удобный способ определения размера массива.

При выводе значений массива в цикле for легко допустить ошибку. Например, попытаемся вместо оператора < использовать оператор <=, как показано ниже:

(for (1 * 0; i <= friendNames.Length; i++)

{

>

Console.WriteLine(friendNames[i]),

Microsoft Visual hldditt &eLi*jsgf,jL!r

"lr~ ' ' Ч‘ СВШ’ДМ'. .) I1: -.; . ,j[ :

Компиляция с последующим выполнением программы приведет к появлению окна с сообщением об ошибке: “Необрабатываемая исключительная ситуация типа ‘выход индекса за пределы диапазона' в ch05Ex04.exe" (см. рис. слева).

В приведенном случае мы попытались получить доступ к friendNames[3]. Как вы помните, значения индексов массива начинаются с нуля, поэтому последним элементом данного массива является friendNames[2]. Обращение к элементам массива, выходящим за его границу, приведет к ошибке.

На самом деле существует более удобный способ доступа ко всем элементам массива С ПОМОЩЬЮ ЦНКЛа foreach.

Циклы foreach

Цикл foreach позволяет обращаться ко всем элементам массива с помощью очень простого синтаксиса:

foreach {<базовыЯТтт> <икя> in <массиа»)

{

// можно использовать < ня> для доступа х очередному элементу

)

Этот цикл пройдет по всем элементам массива, последовательно помещая каждый из ннх в переменную <имя>; при этом опасность выхода за границы массива отсутствует. Нам не придется беспокоиться о том, сколько элементов имеется в массиве, и мы сможем воспользоваться в цикле каждым из ннх. Для того чтобы применить этот способ, изменим код последнего примера:

static void Main(atring[] args)

С

string[I friendNames
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.