Подсчет символа и отображение в toolStripStatusLabel

Я хочу посчитать, сколько символов есть, каждый раз, когда я помещаю текст в расширенное текстовое поле.

(Если я наберу "Привет!" (Вместо "2 символа..." должно отображаться "10 символов...")

private void rtbText_TextChanged(object sender, EventArgs e)
        {
            char[] arrCharacter = new char[1] { ' ' };
            int countChar = rtbText.Text.Split(arrCharacter).Length;

            char[] arrVowels = new char[5] { 'a', 'e', 'i', 'o', 'u' };
            int countVowels = rtbText.Text.Split(arrVowels).Length;

            toolStripStatusLabel1.Text = countChar + " characters, of which " + countVowels + " are vowels.";
        }

Это наверняка связано с этой строкой. На самом деле, это дает мне СЛОВО, а не характер.

char[] arrCharacter = new char[1] { ' ' };

Спасибо за вашу помощь!

1 ответ

Решение

Я думаю, что ваш код слишком сложен:)

Я хотел бы использовать что-то вроде:

var vowels = new char[]{ 'a', 'e', 'i', 'o', 'u' };
var vowelCount = rtbText.Text.Count(c => vowels.Contains(c));
var characterCount = rtbText.Text.Length;
toolStripStatusLabel1.Text = characterCount + " characters, of which " 
    + vowelCount + " are vowels.";
Другие вопросы по тегам