我對c#和使用Mathnet庫都很陌生,因此我有以下代碼,BasicCandidate
是一個具有名爲GetCScores()
的函數的類,它返回Dictionary< string, double>
。 classMeans
只是Vector<double>
foreach語句不能對類型爲'double'的變量操作
foreach (BasicCandidate bc in data) {
int i = 0;
foreach (KeyValuePair<string, double> score in bc.GetCScores()) {
classMeans[bc.GetClassNumber()][++i] += score.Value;
}
}
數組在第二foreach
聲明我得到一個錯誤,說:
foreach statement cannot operate on variables of type double...
我環顧四周在線和一些人指出,出現這種情況時,正在修改字典,這是不允許的。但正如你所看到的,我沒有那樣做。任何人都可以提出解決方案,並解釋爲什麼我得到這個錯誤?
如果'bc.GetCScores'確實返回了'Dictionary'你的代碼就沒事了,所以它不太可能。此消息絕不涉及在枚舉它時修改字典。你可以在你的問題中包含'GetCScores'的代碼嗎? –
向我們展示函數'GetCScores',至少是函數頭。 – DavidG
'public Dictionary GetScores();' –