【发布时间】:2014-07-07 12:34:24
【问题描述】:
我是 c# 和 Mathnet 库的新手,所以我有以下代码,BasicCandidate 是一个类,它有一个名为 GetCScores() 的函数,它返回一个 Dictionary< string, double>。 classMeans只是Vector<double>的数组
foreach (BasicCandidate bc in data) {
int i = 0;
foreach (KeyValuePair<string, double> score in bc.GetCScores()) {
classMeans[bc.GetClassNumber()][++i] += score.Value;
}
}
在第二个foreachstatement 中,我收到一条错误消息:
foreach statement cannot operate on variables of type double...
我在网上看了一圈,有人指出这是在修改字典时发生的,这是不允许的。但正如你所见,我不会那样做。谁能提出解决方案并解释为什么我会收到此错误?
【问题讨论】:
-
如果
bc.GetCScores真的返回了Dictionary< string, double>,你的代码就可以了,所以它不太可能。此消息与在枚举字典时修改字典无关。您能否在问题中包含GetCScores的代码? -
向我们展示函数
GetCScores,至少是函数头。 -
public Dictionary<string, double> GetScores(); -
@MrX 你给了我们
GetScores,而不是GetCScores,你只是在这里调用了错误的函数吗?
标签: c# dictionary foreach