у меня тоже падает при вводе слова
var h = checkPalindrome("aaaabcaaaa");
1) у вас массив
str.ToCharArray(1, inputString.Length);
начинается заполняется не с 0 индекса, а с 1-го!! от сюда
array[0] у вас имеет значение
null
2)
inputString.Equals( null) <- не годно, годно так:
string.IsNullOrWhiteSpace(inputString) т.к. строка может содержать пробелы (много штук) и тогда строка точно не нуллъ будет
вот так работает:
static bool checkPalindrome(string inputString)
{
bool flag = true;
string str = inputString;
char[] array = str.ToCharArray(0, inputString.Length);
if (string.IsNullOrWhiteSpace(inputString))
{
return false;
}
else
{
for (int i = 0; i < array.Length; i++)
{
while (array[i] == array[i + 1])
{
if (array[i] == array[-i]) //aaaabcaaaa
{
return true;
}
else
{
return false;
}
}
}
return flag;
}
}
3) код неверный - он не вычисляет палиндром (точнее не верно вычисляет)