Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 分数不起作用,int++;标签中不递增_C#_Silverlight_Label_Increment - Fatal编程技术网

C# 分数不起作用,int++;标签中不递增

C# 分数不起作用,int++;标签中不递增,c#,silverlight,label,increment,C#,Silverlight,Label,Increment,我有一个计算碰撞的程序 代码 int eatenAppleCount = 0; public MainPage() { score.Content = "Score" + " " + Convert.ToString(eatenAppleCount); } for (int indx = myapples.Count - 1; indx >= 0; indx--) { myapples[indx].Update(Layou

我有一个计算碰撞的程序

代码

int eatenAppleCount = 0;

public MainPage()
{
score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);   
}

 for (int indx = myapples.Count - 1; indx >= 0; indx--)
            {
                myapples[indx].Update(LayoutRoot);
                bool collided = DetectCollision(myapples[indx], myPig);
                if (collided)
                {
                    eatenAppleCount ++;
                    RemoveApple(myapples[indx]);
                }
            }
问题是,即使在碰撞中,分数也只是读数为0。
有人能帮我吗?我不明白为什么它不是递增的

您需要将此变量作为引用传递

int eatenAppleCount = 0;

public MainPage()
{
   CollisionDetect(ref eatenAppleCount);
   score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);   
}

protected void CollisionDetect(ref eatenAppleCount)
{
    for (int indx = myapples.Count - 1; indx >= 0; indx--)
    {
         myapples[indx].Update(LayoutRoot);
         bool collided = DetectCollision(myapples[indx], myPig);
         if (collided)
         {
             eatenAppleCount ++;
             RemoveApple(myapples[indx]);
         }
     }        
}

您需要将此变量作为引用传递

int eatenAppleCount = 0;

public MainPage()
{
   CollisionDetect(ref eatenAppleCount);
   score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);   
}

protected void CollisionDetect(ref eatenAppleCount)
{
    for (int indx = myapples.Count - 1; indx >= 0; indx--)
    {
         myapples[indx].Update(LayoutRoot);
         bool collided = DetectCollision(myapples[indx], myPig);
         if (collided)
         {
             eatenAppleCount ++;
             RemoveApple(myapples[indx]);
         }
     }        
}

您有几个代码片段很难理解,但我认为您只需要在增量后重新应用这一行:

score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);

您有几个代码片段很难理解,但我认为您只需要在增量后重新应用这一行:

score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);

在消息中显示之前,您需要执行代码以计算
eatenaplecount

看起来您只是在使用默认值
eatenaplecount
,然后计算它

int eatenAppleCount = 0;

public MainPage()
{

    for (int indx = myapples.Count - 1; indx >= 0; indx--)
    {
        myapples[indx].Update(LayoutRoot);
        bool collided = DetectCollision(myapples[indx], myPig);
        if (collided)
        {
            eatenAppleCount ++;
            RemoveApple(myapples[indx]);
        }
    }

    score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);   

}

在消息中显示之前,您需要执行代码以计算
eatenaplecount

看起来您只是在使用默认值
eatenaplecount
,然后计算它

int eatenAppleCount = 0;

public MainPage()
{

    for (int indx = myapples.Count - 1; indx >= 0; indx--)
    {
        myapples[indx].Update(LayoutRoot);
        bool collided = DetectCollision(myapples[indx], myPig);
        if (collided)
        {
            eatenAppleCount ++;
            RemoveApple(myapples[indx]);
        }
    }

    score.Content = "Score" + " " + Convert.ToString(eatenAppleCount);   

}

使用变量创建用作内容的字符串不会将该变量链接到内容。当变量更改时,它不会影响从上一个值创建的内容


当变量更改时,您需要更新内容。将构造函数中的代码放入一个方法中,这样您就可以从构造函数中调用该代码,并且在您想要更新内容时也可以调用该代码。

使用变量创建字符串用作内容不会将该变量链接到内容。当变量更改时,它不会影响从上一个值创建的内容


当变量更改时,您需要更新内容。将构造函数中的代码放在一个方法中,这样您就可以从构造函数中调用它,并且可以在需要更新内容时调用它。

reference??哪里要转换.ToString?@NewHire如果您在此代码中使用一些OO,则是可能的,因为您需要从主方法中分离一些责任。参考??哪里转换.ToString?@NewHire如果你在代码中使用了一些OO,这是可能的,因为你需要从主方法中分离一些责任。啊,太神奇了,把标签放错地方了。谢谢。啊,太棒了,把标签放错地方了。非常感谢。