Я испытываю «исключение ссылочной ссылки», когда пытаюсь вернуть значение из структуры.Исключение Null Reference в C#
вот код:
AssetItem item = new AssetItem();
item = initModified();
bool found = false;
int index = getIndex(barcode);
string modifiedFile = filepath + "Modified\\" + dir + "\\" + index + ".asdt";
if(File.Exists(modifiedFile))
{
using(StreamReader reader = new StreamReader(modifiedFile))
{
string line = reader.ReadLine();
while(line.Trim()!="")
{
string[] split = line.Split(',');
if(split[1]==barcode)
{
found = true;
break;
}
line = reader.ReadLine();
}
reader.Close();
}
}
if(found)
{
item.modified = true;
}
else
{
item.modified = false;
}
return item;
Я инициализировать элемент вызвав саб, содержащий, что item.modified = ложь. После проверки того, что файл существует, я использовал streamreader для чтения строк файла один за другим, пока не найдет определенную строку и не остановится. Проблема в том, когда он проверял, существует ли файл и не находит конкретную строку. Он возвращает null даже жестко. Я инициализирую элемент false и устанавливаю его в false, когда он не находит строку. Примечание: это происходит редко и отлично работает, когда я получаю доступ к другим файлам для чтения и даже в том же файле, что и null.
Примечание. Еще одна проблема, с которой я столкнулся, заключается в том, что она пропускает строку, которую она читает.
Что может быть причиной этого?
Это только наконечник и не имеет никакого отношения к вашей проблеме: вы можете устранить некоторые строки в конце, делая т его 'item.modified = found;' – Dinah