Нужно отображать средние буквы каждого слова в строке и отображать его

Вот что у меня есть до сих пор, он настроен для отображения общего количества слов, которые мне нужно сохранить, или изменить, чтобы сохранить, чтобы отображалось среднее количество букв в каждом слове, пожалуйста, помогите кому-нибудь, если вы можете . Спасибо большое!:

private void btnCheck_Click (отправитель объекта, EvenArgs e)

{
     string words = tbxArgument.Text.Trim();
     MessageBox.Show("Number of Words: " + CountWords(words));
}

private int CountWords(строковые слова)

{
     string[] allWords = words.Split(' ');
     return allWords.Length;
}
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
0
20
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Не уверен, что это то, чего вы пытаетесь достичь.

Но это даст вам среднюю длину всех слов.

double totalCharacters = 0;
double avgCharacters = 0;
string[] words = new string[] {"Word1","Word2","Word3" } ;


foreach (string tmpString in words)
{
    totalCharacters = totalCharacters + tmpString.Length;
}

avgCharacters = totalCharacters/words.Length;

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

public static double GetAvgLetters(string text, out int wordsCount)
{
    wordsCount = 0;
        
    if (string.IsNullOrWhiteSpace(text))
    {
        return double.NaN;
    }

    var lettersCount = 0;

    var isLetter = text[0] != ' ';
    var readingLetter = isLetter;
    for (int i = 0; i < text.Length; i++)
    {
        isLetter = text[i] != ' ';

        if (isLetter != readingLetter)
        {
            readingLetter = isLetter;

            if (readingLetter)
            {
                lettersCount++;
            }
            else
            {
                wordsCount++;
            }
        }
        else if (isLetter)
        {
            lettersCount++;
        }
    }

    if (isLetter == readingLetter && isLetter)
    {
        wordsCount++;
    }

    return lettersCount / (double)wordsCount;
}

Я просто повторяю проверку изменений между пустым и не пустым (для подсчета слов) и, читая буквы, считаю буквы. В конце, если мы читаем буквы и последний символ является буквой, мы должны добавить последнее слово для подсчета.

Другие вопросы по теме