Ответы пользователя по тегу .NET
  • Где ошибка в переборе?

    Не понимаю зачем внутри метода этот цикл. Можно сделать несколько проще. Смысл в том, чтобы на каждом вызове метода AlternateCharCases менять регистр буквы word[startIndex] на нижний и вызывать этот же метод со смещением startIndex, затем менять регистр на верхний и снова вызывать этот же метод . Наверно не очень ясно выразился, вот работающий код:
    static void AlternateCharCases(char[] word, int startIndex, List<string> result)
    {
         if (word.Length == startIndex)
         {
              result.Add(new string(word));
              return;
         }
         word[startIndex] = char.ToLower(word[startIndex]);
         AlternateCharCases(word, startIndex + 1, result);
         word[startIndex] = char.ToUpper(word[startIndex]);
         AlternateCharCases(word, startIndex + 1, result);
    }
    Ответ написан