0Pricing
C# Academy · Урок

Индексация и длина

Безопасно обращайтесь к элементам.

«Индексация и длина» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 4 уроков всего.

Чтение по индексу

У каждого элемента массива есть позиция, которая называется индексом. Чтобы прочитать значение, укажите индекс в квадратных скобках после имени массива.

Индексация начинается с 0, поэтому самый первый элемент находится по индексу 0.

string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // Mon

Отсчёт с нуля

Поскольку индексы начинаются с 0, у второго элемента индекс 1, а у третьего — индекс 2.

Такой отсчёт с нуля часто сбивает начинающих с толку, поэтому запомните: индекс = позиция минус один.

string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // Wed

Изменение элемента

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

Здесь мы заменяем значение по индексу 1. Длина массива не меняется, изменяется только сохранённое значение.

int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99

Свойство Length

У каждого массива есть свойство Length, которое сообщает, сколько элементов в нём содержится.

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

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4

Последний элемент

Последний допустимый индекс всегда равен Length - 1, потому что отсчёт начинается с 0.

Использование Length - 1 позволяет найти последний элемент без жёстко заданного числа.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8

Оператор индексации с конца

В C# есть сокращённый способ отсчитывать элементы с конца с помощью оператора ^. ^1 означает последний элемент, а ^2 — предпоследний.

Это удобный способ получить последний элемент, не записывая Length - 1.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8

Полная программа

Эта полная программа выводит первый элемент, последний элемент и общую длину.

Запустите её, чтобы увидеть все три значения.

int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);

Ошибки выхода за границы

Если использовать слишком большой или отрицательный индекс, C# выдаст исключение IndexOutOfRangeException, и программа завершится с ошибкой.

Для массива длиной 3 допустимы только индексы 0, 1 и 2. Индекс 3 выходит за границу на один шаг.

int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3

Проверка перед обращением

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

Безопасный индекс должен быть не меньше 0 и меньше Length.

int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
    Console.WriteLine(nums[i]);
else
    Console.WriteLine("Out of range");

Использование Length в вычислениях

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

Здесь мы вычисляем центральную позицию массива.

int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3

Length доступно только для чтения

Нельзя изменить Length, чтобы изменить размер массива. После создания массив имеет фиксированный размер.

Если нужен другой размер, создайте новый массив. Коллекции, такие как List<T>, лучше подходят, когда размер должен увеличиваться.

int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3

Быстрая проверка

Проверьте, насколько хорошо вы понимаете индексы и длину.

Повторение

Вы научились читать и изменять элементы по индексу, узнали, что индексы отсчитываются с нуля, а последний индекс равен Length - 1.

Свойство Length подсчитывает элементы, оператор ^ отсчитывает их с конца, а выход за границы вызывает исключение. Далее вы научитесь перебирать каждый элемент.

Часто задаваемые вопросы

Урок «Индексация и длина» бесплатный?

Да — полный текст урока «Индексация и длина» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 4 уроков всего.

Чему я научусь в уроке «Индексация и длина»?

Безопасно обращайтесь к элементам. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Индексация и длина»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объявление массивов
  2. Индексация и длина
  3. Циклы по массивам
  4. Многомерные массивы
← Назад к C# Academy