1

我有一个全局变量averagel,我试图在一种方法中进行操作。编译器对我设置值没有问题,averagel = averagel / (xrestriction * yrestriction);但由于某种原因,当我尝试使用它来设置另一个变量时它不喜欢它:

inside = (inside + averagel * (xrestriction * yrestriction)) - 2 * (averagel)(suml);

只有在我尝试使用av​​eragel 的值来设置另一个int 的行上,它才会返回错误“sqlDataReader.ReaderDemo.averagel”是一个“字段”,但用作“类型”。我还尝试将方法中的 int 设置为 averagel 的值,然后尝试使用该值来设置我的内部变量,但返回错误“找不到类型或命名空间名称‘test’(你错过了吗? using 指令或程序集引用?)”,我之前所做的只是声明 int test=averagel;

有什么想法可以在这里发生吗?

4

2 回答 2

9

您可能需要一个星号:

inside = (inside + averagel * (xrestriction * yrestriction)) - 2 * averagel * suml; 

您不能像在数学中那样在 C# 中将两个值相乘。例如(averagel)(suml),在数学方程式中有意义,但您必须用averagel * sumlC# 编写。

于 2012-06-25T15:20:24.550 回答
0

您的括号错误,并且不小心在表达式中包含了类型转换。最后一点

(averagel) (suml)

尝试强制转换suml为 type averagel,因此编译器有权抱怨。我怀疑您在这两个术语之间缺少一个运算符。

于 2012-06-25T15:20:52.023 回答