я прочел тему Что такое NullReferenceException, и как мне исправить код?
И конкретно ее ответ Squidward, который являет собой полноценную статью, но для себя я так и не понял что не так.
Регион "разбиение строки s на символы" записывает строку s в массив строк из слов s, а затем в массив в массиве cs[][] записывает в виде знаков.
"Поиск зараженных" находит те слова, в которых имеются повторяющиеся знаки, чтобы можно было (что я еще не реализовал, т.к. не дошел) избавиться в конечном варианте текста от этих "зараженных" слов.
String[] s; //Сплитенный массив строк из слов
Char[][] cs;
String path;
Char b; //буферный знак
Boolean q = false;
...
#region разбиение строки s на символы
s = textBox_input.Text.Split(' ', ',',',');
Char[][] cs = new Char [s.Length][];
for (int j=0;j<s.Length;j++)
for (int i=0;i< s[j].ToCharArray().Length;i++)
cs[j] = s[j].ToCharArray();
#endregion
#region Определяем зараженных
int plaguelistpointer = 0;
int[] plaguelist = new int[cs.Length];
for (int j = 0; j < cs.Length; j++)
{
plaguelistpointer++;
for (int k = 0; k < cs[j].Length; k++)
Вот тут и выскакивает ошибка "System.NullReferenceException" к cs[j].Length. В чуть ранней версии этого кода - "зараженных" определяли как нужно и никаких ошибок.
{
if (q) { q = false; break; }
b = cs[j][k];
for (int i = 0; i < cs[j].Length; i++)
{
if (b == cs[j][i] && i != k)
{
plaguelist[plaguelistpointer - 1] = j; //заносим в массив зараженных, номер массива слова.
q = true;//отмечаем, что больше по этому слову проходить не нужно
}
}
}
}
#endregion