0Pricing
C# Academy · Урок

Итерация по строкам

Строки как последовательности символов.

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

Строки — это последовательности

Тип string представляет собой последовательность значений char, расположенных по порядку.

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

string text = "Hello";
// 'H', 'e', 'l', 'l', 'o'

Свойство Length

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

Вы будете использовать Length для управления циклами и определения последнего допустимого индекса — это всегда Length - 1.

class Program
{
    static void Main()
    {
        string text = "Hello";
        System.Console.WriteLine(text.Length);
    }
}

Цикл foreach

Самый простой способ обратиться к каждому символу — использовать цикл foreach.

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

class Program
{
    static void Main()
    {
        string text = "Hi!";
        foreach (char c in text)
            System.Console.WriteLine(c);
    }
}

Цикл for и индекс

Цикл for предоставляет индекс, который нужен, когда важна позиция символа.

Запускайте индекс от 0 до Length - 1 и считывайте каждый символ с помощью text[i].

class Program
{
    static void Main()
    {
        string text = "Hi!";
        for (int i = 0; i < text.Length; i++)
            System.Console.WriteLine(text[i]);
    }
}

Индексация начинается с нуля

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

В строке "Code" значение text[0] — это 'C', а text[3] — 'e'. Обращение к слишком большому индексу приводит к ошибке.

string text = "Code";
char first = text[0]; // 'C'
char last = text[3];  // 'e'

Подсчёт определённых символов

Перебор позволяет подсчитывать символы, соответствующие условию.

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

class Program
{
    static void Main()
    {
        string text = "banana";
        int count = 0;
        foreach (char c in text)
            if (c == 'a') count++;
        System.Console.WriteLine(count);
    }
}

Сочетание со вспомогательными методами char

Внутри цикла можно вызывать вспомогательные методы типа char, с которыми Вы познакомились ранее.

Например, можно подсчитать только цифры в строке, проверяя каждый символ с помощью char.IsDigit.

class Program
{
    static void Main()
    {
        string text = "a1b2c3";
        int digits = 0;
        foreach (char c in text)
            if (char.IsDigit(c)) digits++;
        System.Console.WriteLine(digits);
    }
}

Создание преобразованного результата

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

Этот цикл считывает каждый символ, переводит его в верхний регистр с помощью char.ToUpper и выводит его. Исходная строка никогда не изменяется, поскольку строки неизменяемы.

class Program
{
    static void Main()
    {
        string text = "loud";
        foreach (char c in text)
            System.Console.Write(char.ToUpper(c));
    }
}

Строки неизменяемы

Нельзя изменить символ на месте с помощью text[0] = 'X' — это ошибка компиляции.

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

string text = "cat";
// text[0] = 'b'; // not allowed

Обратный порядок с помощью перебора

Перебирая символы от последнего индекса до 0, можно вывести их в обратном порядке.

Начните с индекса Length - 1 и уменьшайте его, пока он не достигнет 0.

class Program
{
    static void Main()
    {
        string text = "abc";
        for (int i = text.Length - 1; i >= 0; i--)
            System.Console.Write(text[i]);
    }
}

Сравнение foreach и for

Используйте foreach, когда Вам нужен каждый символ, но не нужна его позиция.

Используйте цикл for, когда Вам нужен индекс, когда требуется пропускать символы или перебирать их в особом порядке, например в обратном. Оба цикла посещают одни и те же символы.

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

Проверьте, насколько хорошо Вы поняли перебор строк.

Итоги

Тип string представляет собой последовательность символов, которую можно перебирать в цикле.

Используйте foreach для простого перебора, а цикл for с индексом — когда важна позиция. Свойство Length сообщает количество символов, индексы начинаются с 0, а строки неизменяемы, поэтому преобразование текста всегда создаёт новую строку.

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

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

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

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

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

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

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

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

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

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

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

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

  1. Тип char
  2. Вспомогательные методы для char
  3. Итерация по строкам
  4. Создание строк
← Назад к C# Academy