当我试图从结构中返回值时,遇到“空引用异常”。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 = false一个子项进行初始化。在检查文件存在后,我使用流读取器逐个读取文件的行,直到找到特定的行并停止。问题是当它检查文件是否存在并且没有找到特定的行时。即使强硬也会返回null我将项初始化为false,并在找不到该行时将其设置为false。注意:这种情况很少发生,在我读取其他文件时甚至在它返回null的同一文件中工作正常。
注意:我遇到的另一个问题是它跳过它读取的一行。
这可能是什么原因造成的?
这只是一个提示,是不相关的问题的方法:你可以通过做牛逼消除在最后几行他的'item.modified =找到;' – Dinah 2010-11-09 03:26:59