C#编程中的错误消息是什么

本文关键字:消息 是什么 错误 编程 | 更新日期: 2023-09-27 18:24:30

我收到一个错误:

"MoveBall.Game"不包含"ballSpeedAxis1"的定义,也找不到接受类型为"MoveBall.Came"的第一个参数的扩展方法"ballSpeed Axis1"(是否缺少using指令或程序集引用?)

一开始,当我尝试一个接一个地插入值时,没有出现任何错误。

int ballSpeedAxis1 = 1;
int ballSpeedAxis2 = 1;
...
int ballSpeedAxis10 = 1;

然而,在我更改为for循环之后,如下所示。

var ballSpeedXAxis = new int[10];
for (int i = 0; i < ballSpeedXAxis.Length; i++)
{
    ballSpeedXAxis[i] = 1;
}

错误发生在以下行:

private void OnUpdate(object sender, object e)
{
    Canvas.SetLeft(this.ball1, this.ballSpeedXAxis + Canvas.GetLeft(this.ball1));
}

我可以知道我该怎么解决吗?

C#编程中的错误消息是什么

因为您的变量范围错误。ballSpeedXAxis应该在类中定义,而不是在初始化它的方法中定义。此外,如果定义类范围的变量,则不能使用var。奇怪的是,在OnUpdate方法中并没有使用索引。

class MyClass {
    int[] ballSpeedXAxis = new int[10];
    MyClass() { // constructor
       for (int i = 0; i < ballSpeedXAxis.Length; i++)
       {
            ballSpeedXAxis[i] = 1;
       }
    }
    private void OnUpdate(object sender, object e)
    {
        Canvas.SetLeft(this.ball1, this.ballSpeedXAxis[<some index here>] + Canvas.GetLeft(this.ball1));
    }
}

您将ballSpeedXAxis更改为数组,但在您的OnUpdate中,您正试图访问它就好像它是一个正常的整数:

private void OnUpdate(object sender, object e)
{
     Canvas.SetLeft(this.ball1, this.ballSpeedXAxis + Canvas.GetLeft(this.ball1));
}

您必须在要使用的数组中指定int的索引

例如.ballSpeedXAxis[0]。

现在你说错误是:

"MoveBall.Game"不包含"ballSpeedAxis1 "的定义

如果您正在使用VisualStudio、MonoDevelop或Xamarin Studio单击错误"错误"窗口中的项应该会将您带到代码中仍然引用ballSpeedAxis1的位置。

您甚至可以尝试按CTRL+F并在搜索框中输入"ballSpeedAxis1"
,然后搜索整个解决方案。

如果使用任一方法都找不到位置,那么某些东西可能不同步,您应该使用IDE的"CLEAN SOLUTION"answers"REBUILD SOLUTION(重新构建解决方案)"功能。