请帮助解决此错误:运算符'^'不能应用于'double'和'int'类型的操作数

时间:2011-05-24 14:27:46

标签: c#

我有以下C#代码。

double a = 0;
 double d = 0;
double er = 0;
int N = numbers.Length;
a=(N*N/6) + N
d=(N-(N/2))*2



     for(int aa=1;aa<=data.length;aa++)
        {

              er=((10-aa)*(-a\) + d - (numbers[aa,12]))^2;

          }

数字是这种格式的双数组:

1 0.3232 0.361 0.5214 0.233 -0.7678
2 0.3451 0.321 0.134 0.224 -0.706268
3 0.3123 0.351 0.155 0.523 -0.70626
4 0.36 0.312 0.216 0.233 -0.6453351
5 0.269 0.3331 0.162 0.224 -0.584962

但是在运行代码时,我在这一行上遇到了这个错误:

 er=((10-aa)*(-a\) + d - (numbers[aa,12]))^2;

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:13)

使用Math.Pow - ^ 是幂运算符,它是logical XOR运算符。

c#中没有幂运算符。

答案 1 :(得分:0)

我不确定您打算使用^运算符,但在C,C ++和C#中它是xor运算符。它没有为非整数类型定义。如果你想做一个指数,你最好使用像Math.pow()这样的东西或自己做乘法