Я пытаюсь сделать домашнее задание маленькой школы. Так что для ввода, это будет любое имя, как Майк.IndexOutOfRangeException, но нет вне допустимого диапазона
Но нам нужно проверить, действительно ли это имя на английском языке. Если это так, то вывод будет «Hello, NAME» Я проверил букву на английском языке, проверив код ASCII для каждой буквы и посмотрев, действительно ли она является частью кодов ASCII английского алфавита. Также сделано это, используя массив логических элементов.
Мой код выглядит следующим образом:
string name = Console.ReadLine();
bool[] isEnglish = new bool[name.Length];
int num = 0;
for (int i = 0; i<=name.Length;i++)
{
for (int ii = 65;ii<=122;ii++)
{
if(name[i] == (char)ii)
{
isEnglish[i] = true;
break;
}
}
}
for (int iii = 0; iii<=name.Length;iii++)
{
if (isEnglish[iii] == true)
{
num++;
}
}
if(num == name.Length)
Console.WriteLine("Hello, {0}!", name);
else
Console.WriteLine("name isn't in English");
, и я получаю ошибку:
Unhandled Exception:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Solution.Main (System.String[] args) [0x00024] in solution.cs:14
[ERROR] FATAL UNHANDLED EXCEPTION: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Solution.Main (System.String[] args) [0x00024] in solution.cs:14
поэтому ошибка в его линии 14? Я не вижу ничего плохого в строке 14. Я тупик
На самом деле я не копировал функцию «main», а так же минус, что это будет строка 8. (14-6) –
Вы можете использовать одну классную функцию, называемую debug. Также мы не знаем, что такое строка 14. – mybirthname
Прочитайте [Как отлаживать небольшие программы] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Ах, а массив длиной пять имеет индексы 0,1,2,3,4. –