Основы C#

Теория: Формирование строк в циклах

Ещё одно использование циклов – формирование строк. Подобная задача нередко встречается в программировании. Она сводится к обычной агрегации через конкатенацию.

Есть одна задача, крайне популярная среди людей, проводящих собеседования, это переворот строки. Её можно решить множеством разных способов, но именно посимвольный перебор считается самым базовым. Пример работы этой функции:

App.Reverse("Hexlet"); // telxeH

Общая идея переворота состоит в следующем: нужно брать символы по очереди с начала строки и соединять их в обратном порядке. Звучит довольно просто. Давайте проверим:

class App
{
    public static string Reverse(string str)
    {
        var i = 0;
        // Нейтральный элемент для строк это пустая строка
        var result = "";
        while (i < str.Length)
        {
            // Соединяем в обратном порядке
            result = str[i] + result;
            i = i + 1;
        }

        return result;
    }
}

var name = "Bran";
App.Reverse(name); // "narB"
// Проверка нейтрального элемента
App.Reverse(""); // ""

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

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845