我有int數組追查NaN的原因浮
public float[] Outputs;
在我的代碼
某處,東西更新數組值,造成NaN的。這是一個非常偶爾的錯誤,我不能解決我的生活是什麼導致它。
如何使用最少的代碼更改進行更改以追蹤它?將該陣列設置爲私有並重新命名會很好,然後創建一個名爲Outputs的屬性,以獲取和設置每次設置NaN時進行檢查。然後,當NaN被設置並檢索一個調用棧時,我可以輕鬆地引發一個異常,而不是在另一段代碼嘗試使用它時發現它。像這樣 - 實際上編譯。
我得到的錯誤:
"Bad array declarator: To declare a managed array the rank specifier precedes
the variable's identifier. To declare a fixed size buffer field, use the fixed
keyword before the field type."
這裏是我的代碼:
public float[] _outputs;
public float Outputs[int index]
{
get
{
return _outputs[index];
}
set
{
if (float.IsNaN(value))
throw new Exception("Blar blar");
_outputs[index] = value;
}
}
編輯:謝謝你的答案的人,其他人尋找答案可能需要閱讀此: Why C# doesn't implement indexed properties?
你的問題是什麼? – Kenneth 2013-05-12 10:01:20
爲什麼不能正常工作? – 2013-05-12 10:02:18
我已將其更新以使問題更清楚。我無法獲得編譯的代碼。 – 2013-05-12 10:03:48