变量C在编程改变时不会改变?

时间:2013-12-24 23:20:22

标签: c#

为什么“c”在编程改变时不会改变,我感到非常困惑。没什么可说的,可能是一个愚蠢的错误,但无法弄清楚......

//declared OUTSIDE of the method.        
private string c = "1";

private void expanded(object sender, GestureEventArgs e)
{
    if (debug2.Text == "Temp")
    {
        if (c == "1")
        {
            c = "2";
            ((Storyboard)this.Resources["_in"]).Begin();
        }
        if (c == "2")
        {
            c = "1";
            ((Storyboard)this.Resources["_in1"]).Begin();
        }
    }
}

2 个答案:

答案 0 :(得分:6)

您错过了else

    if (c == "1")
    {
        c = "2";
        ((Storyboard)this.Resources["_in"]).Begin();
    }
    else if (c == "2") // !!!
    {
        c = "1";
        ((Storyboard)this.Resources["_in1"]).Begin();
    }

否则,您将c设置为"2",然后立即返回"1"

答案 1 :(得分:0)

这是你想要做的吗?

private: // <-- remember the colons (:)
     string c = "1";

     void expanded()
     {
        if(c = "1")
        {
           c = "2";
           ((Storyboard)this.Resources["_in"]).Begin(); //dono what this is
        }

        if(c == "2")
        {
           c = "1";
           ((Storyboard)this.Resources["_in1"])Begin(); //dono what this is
        }
     }

BUT !!!这是一个很大的但是(t):) 不要认为这可以用C语言完成,因为它不具有struct {}之外的任何类,但这不是一个你不能在其中有方法的类。

你可以用C ++做,你只需要记住#include