引用未在空行设置错误
本文关键字:设置 错误 引用 | 更新日期: 2023-09-27 18:09:23
当我从一个文件中读取文件有一个空行时,我得到这个错误,我希望循环停止在空行,但我得到这个错误,我应该怎么做?
string[] delim = new string[] { "," };
bool eof=false;
int k=0;
do
{
string[] linie = sr.ReadLine().Split(delim, StringSplitOptions.None);
if (String.IsNullOrWhiteSpace(linie[0]))
eof = true;
else
{
A[k] = double.Parse(linie[0]);
l[k] = Convert.ToInt32(linie[1]);
c[k] = Convert.ToInt32(linie[2]);
}
k++;
}
while (!eof);
错误在这里:string[] linie = sr.ReadLine().Split(delim, StringSplitOptions.None);
.
将语句分成多行:
String line = sr.ReadLine();
if (!String.IsNullOrEmpty(line))
{
string[] linie = line.Split(delim, StringSplitOptions.None);
//The rest of your code
}
正如Jeff指出的,如果你有> .Net4,那么你可以使用IsNullOrWhiteSpace
到达文件末尾时,sr.ReadLine()
返回null
。因此,当您尝试拆分null
时,您将得到NullReferenceException
。
你应该在分割前检查是否为空。
另一种组织could的方法是:
string line;
while ((line = sr.ReadLine()) != null)
{
}