Mail.ruПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискСмотриComboВсе проекты

Помогите переделать код на с#

Юлия Канделаки Ученик (15), на голосовании 3 недели назад
Помогите переделать код чтобы он подсчитывал не количество пробелов, а количество слов в строке

Private void button1_Click(object sender, EventArgs e)
{
// Получаем номер выделенной строки
int index = listBox1.SelectedIndex;

// Считываем строку в переменную str
string str = (string)listBox1.Items[index];
// Узнаем количество символов в строке
int len = str.Length;
// Считаем, что количество пробелов равно 0 int count = 0;
// Устанавливаем счетчик символов в 0 int i = 0;
// Организуем цикл перебора всех символов в строке
while (i < len)
{
// Если нашли пробел, то увеличиваем
// счетчик пробелов на 1 if (str[i] == ' ') count++;
i++;
}
label1.Text ="Количество пробелов = " + count.ToString();
}
Голосование за лучший ответ
STALKER Мудрец (10974) 3 недели назад
Привет :) Держи

using System.Linq; - добавь !

// Получаем номер выделенной строки
int index = listBox1.SelectedIndex;

// Считываем строку в переменную str
string str = (string)listBox1.Items[index];
// Узнаем количество символов в строке
int len = str.Length;
// Считаем, что количество пробелов равно 0 int count = 0;
// Устанавливаем счетчик символов в 0 int i = 0;
// Организуем цикл перебора всех символов в строке

int count = str.Count(x => x == ' ') + 1; // узнаем сколько всего пробелов в строке

index = 0; // обнулим переменную
// пробел будет служить разделителем слов
for (int i = 0; count > i; i++)
{
// Используя пробел как разделитель, пройдемся по их индексам. Например будет вот так :)
// 0 1 2 3 4 5
// Привет Юленька, как дела ? :)
if (str.Split()[i].Length != 0)
{
index++;
}
}

label1.Text = "Количество слов в строке = " + index + "\nколичество символов в строке: " + len;
STALKERМудрец (10974) 3 недели назад
В обработчике ListBox, выбери событие SelectedIndexChanged - чтобы выбор проверялся сразу, без кнопки
Юлия КанделакиУченик (15) 3 недели назад
спасибо за код) дела кстати норм)
STALKER Мудрец (10974) Юлия Канделаки, вот и отлично :)
lemМастер (1571) 3 недели назад
зачем так сложно?
var countWords = str.Trim().Split(' ').Where(x => x.Length != 0).Count();
STALKER Мудрец (10974) lem, ну я делал на скорую руку.
Похожие вопросы
Также спрашивают