Бесплатный курс по csharp. Зарегистрируйтесь для отслеживания прогресса →

C#: Обход строк

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

class App
{
    public static void PrintNameBySymbol(string name)
    {
        var i = 0;
        // Такая проверка будет выполняться до конца строки
        // включая последний символ. Его индекс `name.Length - 1`.
        while (i < name.Length)
        {
            // Обращаемся к символу по индексу
            Console.WriteLine(name[i]);
            i = i + 1;
        }
    }
}

var name = "Arya";
App.PrintNameBySymbol(name);
// 'A'
// 'r'
// 'y'
// 'a'

Самое главное в этом коде, поставить правильное условие в while. Это можно сделать сразу двумя способами: i < name.Length или i <= name.Length - 1. Оба способа приводят к одному результату.

Задание

Реализуйте статический метод App.PrintReversedNameBySymbol(), который печатает переданное слово посимвольно, как в примере из теории, но делает это в обратном порядке.

var name = 'Arya';
App.PrintReversedNameBySymbol(name);
// 'a'
// 'y'
// 'r'
// 'A'

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе