當我試圖從結構中返回值時,遇到「空引用異常」。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