当我尝试实例化没有设置为对象实例的String []对象引用时发生错误

问题描述:

我试图从文本文件中读取一些信息并将其放入字符串[] 我从文件中成功读取,但是当我尝试将信息放在String []中时,出现此错误:“未将对象引用设置为对象的实例”。这是我得到的错误代码:当我尝试实例化没有设置为对象实例的String []对象引用时发生错误

string total = linie.Replace(idCont + "_" + rows["JOB"].ToString() + "_" + Loturi[i] + " : ", "") 
Vol_Plicuri[i] = total.Split('|')[0].Trim(); 

我不知道如何绕过这个错误。 谢谢!

+0

'rows [“JOB”]'可能为空。 – ken2k 2012-02-21 15:29:18

+0

这里确实没有足够的代码来帮助你... linie和Vol_Plicuri如何得到声明? linie在哪里获得它的价值? – 2012-02-21 15:29:39

+0

首先将各部分拆分成不同的行,并确定哪一部分正在做你期望的(可能只是某些时间)。 [edit]我怀疑@ ken2k是对的。 – kenny 2012-02-21 15:29:57

I put a mbox befor the "Vol_Plicuri[i] = total.Split('|')[0].Trim();" and was not null.

确保Vol_Plicuri设置为非空值。

+0

我把一个mbox befor“Vol_Plicuri [i] = total.Split('|')[0] .Trim();”并不是空的。 – XandrUu 2012-02-21 15:29:18

+0

还有更多的地方可以生成'NPE'。 – 2012-02-21 15:29:45

+0

有很多原因可能会使这个错误发生,linie可能为空或者总没有“|”字符 – 2012-02-21 15:31:01

检查调试器中的每个变量以查看哪个为空。如果你觉得这很难,把复杂的行分解成多个简单的代码行可以使它更容易。 (你的堆栈跟踪会给你一行错误信息,所以如果你每行执行少一些,那么猜测失败的次数就会减少)。如果某些值实际上可能合法为空,那么你可能需要添加'if not null'包装器这样的陈述。