using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public const int N = 10;
static void Main(string[] args)
{
char[] word = Console.ReadLine().ToCharArray();
int i = 0, j = 0;
Console.WriteLine(word);
while ((word[i] >= 'a' && word[i] <= 'z') || (word[i] >= 'A' && word[i] <= 'Z'))
{
j++;
i++;
}
Console.WriteLine(+j);
Console.ReadLine();
}
}
}
Jedes Mal, wenn ich versuche zu debuggen, sagt mir der Debbager "IndexOutOfRangeException wurde nicht behandelt" und ich weiß nicht, warum.Was ist falsch mit dieser Bedingung?
Sie nie die Länge des 'word' überprüfen Array. Wenn alle Zeichen Buchstaben sind, wird die Schleife fortgesetzt, bis "i" über dem Ende des Arrays liegt und Sie erhalten die Ausnahme. –
Tipp: Bevor Sie Fragen stellen, stellen Sie sicher, dass Sie nach Fehlernachrichten/Ausnahmebedingungen suchen (wie https://www.bing.com/search?q=c%23+IndexOutOfRangeException). Wenn Sie sich dennoch entscheiden, eine Frage zu stellen, folgen Sie [MCVE]. Richtlinien, um minimalen Code mit allen notwendigen Informationen inline (dh in diesem Fall '" A ".ToCharArray() [1]' ") –