Индекс находился вне границ массива - C# (178199)
Формулировка задачи:
Добрый день. Подскажите, в чём ошибка:
Выдаёт ошибку: "Необработанное исключение типа "System.IndexOutOfRangeException" произошло в abc.exe
Дополнительные сведения: Индекс находился вне границ массива." в 21 строке
private void button1_Click(object sender, EventArgs e)
{
// Получаем номер выделенной строки
int index = listBox1.SelectedIndex;
// Считываем строку в переменную str
string str = (string)listBox1.Items[index];
// Присваиваем строке значение null
string str1 = null;
int len = str.Length, i = 0, k = 0, s = 0, j = 0, y = 0;
while (str[k] != '\0')
{
if (str[k] != ' ')
{
while (k < len && str[k] != ' ')
{
k++;
i++;
}
str1 += Convert.ToString(i);
i = 0;
}
if (str[k] == ' ')
{
while (k < len && str[k] == ' ')
{
k++;
i++;
}
str1 += Convert.ToString(i);
i = 0;
}
}
label1.Text = str1.ToString();
}Решение задачи: «Индекс находился вне границ массива»
textual
Листинг программы
Console.WriteLine("Введите строку:");
string vvod = Console.ReadLine();
string[] slova = vvod.Split(new Char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
string[] probels = vvod.Split(slova,StringSplitOptions.None);
for (int i = 0; i < slova.Length; i++)
Console.Write(slova[i].Length + ";" + probels[i+1].Length + "\t");
Console.ReadKey();