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

问题描述:

我有以下C#代码。请帮助这个错误:运算符'^'不能应用于类型'double'和'int'的操作数

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; 

任何帮助,将不胜感激。

使用Math.Pow - 的^电力运营商,这是一个logical XOR运营商。

在c#中没有电源操作符。

+0

也开始你的FOR循环在0,而不是1 – 2011-05-24 14:33:06

+0

谢谢,它的工作 – smack 2011-05-24 14:39:51

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