我正在學習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