string input = "Маша любит смотреть на огонь";
// Разделяем строку на слова
string[] words = input.Split(' ');
Random rnd = new Random(); // Для случайного выбора индекса
for (int i = 0; i < words.Length; i++)
{
// Проверяем, что длина слова >= 3
if (words[i].Length >= 3)
{
char[] chars = words[i].ToCharArray();
// Для первого слова оставляем первую заглавную, если она есть
if (i == 0 && char.IsUpper(chars[0]))
{
// Все остальные буквы делаем прописными
for (int j = 1; j < chars.Length; j++)
{
chars[j] = char.ToLower(chars[j]);
}
// Выбираем случайную букву начиная со 2-й для заглавной
int indexToCapitalize = rnd.Next(1, chars.Length);
chars[indexToCapitalize] = char.ToUpper(chars[indexToCapitalize]);
}
else
{
// Делаем все буквы прописными
for (int j = 0; j < chars.Length; j++)
{
chars[j] = char.ToLower(chars[j]);
}
// Выбираем случайную букву начиная с первой для заглавной
int indexToCapitalize = rnd.Next(0, chars.Length); // Первая буква тоже может быть выбрана
chars[indexToCapitalize] = char.ToUpper(chars[indexToCapitalize]);
}
// Обновляем слово
words[i] = new string(chars);
}
}
// Собираем обратно строку
string result = string.Join(" ", words);
project.SendInfoToLog(result);