Не работает char.ToLower и char.ToUpper
Символ под чётным индексом должен становится в верхнем регистре, нечётный в нижнем. Написанный код не работает. Пробовал создавать отдельную переменную для array[j] и её уже преобразовывать и после заменять на неё, но также не выходит.
static void Main(string[] args)
{
ToWeirdCase("This is a test");
}
public static string ToWeirdCase(string s)
{
string[] words = s.Split(' ');
for (int i = 0; i < words.Length; i++)
{
char[] array = words[i].ToCharArray();
for (int j = 0; j < array.Length; j++)
{
if (j % 2 == 0)
char.ToUpper(array[j]);
else
char.ToLower(array[j]);
}
words[i] = new string(array);
}
return string.Join(" ", words);
}
Ответы (1 шт):
Автор решения: Pekor
→ Ссылка
Посмотри что возвращает вызов char.ToUpper(array[j]) - он возвращает тебе преобразованный символ, ты его должен перезаписать по нужному индексу и все будет ок
for (int j = 0; j < array.Length; j++)
{
if (j % 2 == 0)
array[j] = char.ToUpper(array[j]);
else
array[j] = char.ToLower(array[j]);
}
