我正在学习C#并遇到传递引用的问题。为什么我得到这个NullReferenceException?
double tmpNewEntry = -1;
for (int k = 0; k < pl2.Length; k++)
{
p.countWithStepActivation(ref tmpNewEntry);
// Console.WriteLine("answer = {0} | t = {1} | tmpNewEntry = {2}", p.answer, p.theta, tmpNewEntry);
pl2[k].changeEntry(k, tmpNewEntry);
}
现在,当我取消WriteLine()
我得到正确的结果为tmpNewEntry
但在接下来的一行:
pl2[k].changeEntry(k, tmpNewEntry);
我得到一个的NullReferenceException。我错过了什么?
很有可能是因为'pl2'的第k个元素为空......这是否发生在每次迭代?如果不是,抛出时'k'的值是多少? –
使用调试器? –
在行上添加一个断点,并在每一步检查'pl2 [k]'和'tmpNewEntry'的值。也许你正在'countWithStepActivation'方法中将'null'赋值给'tmpNewEntry'? – Otiel