简单的C#方向,声明变量

时间:2013-03-27 19:25:10

标签: c#

我刚开始尝试学习C#。到目前为止,我已阅读了大约50篇教程,并认为我对此有很好的理解。显然我错了。我一直在msdn.microsoft.com的C#程序员参考资料上做了很多阅读,但它似乎不是教程的最佳来源。

我真的想完成最简单的任务。试图理解变量,操作和输入。我来自网络编程,想要将PHP脚本变成桌面应用程序,所以我正在尝试学习C#的基础知识,我想我可能需要学习不同的语言。

基本上,我有一个文本框和一个按钮。单击该按钮时,我想检查文本框中的文本,看它是否与某个字符串匹配。然后显示带有消息的消息框。

private void btnClick_Click(object sender, EventArgs e) {
    if(txtCL.Text == "one") {
        bool myTest = true;
    } else {
        bool myTest = false;
    }
    if(myTest == true) {
        MessageBox.Show("You entered the correct password.", "Important Message");
    } else {
        MessageBox.Show("The password you entered is not correct.", "Incorrect Input");
    }
}

如果有人能指点我更好的教程,我会非常感激,这样我就可以更快地学习。微软的文档真的没有教我任何东西。

我为这个愚蠢的问题道歉,随时称我为白痴。

4 个答案:

答案 0 :(得分:8)

这是一个范围问题,myTest不存在,至少不是在那里 - 您每次都在每个初始条件的范围内创建它。如果你这样做:

bool myTest = false;
if(txtCL.Text == "one") {
   myTest = true;
}
if(myTest == true) {
    MessageBox.Show("You entered the correct password.", "Important Message");
} else {
    MessageBox.Show("The password you entered is not correct.", "Incorrect Input");
}

然后你要指定你的布尔值,并将其设置为false(实际上这是bool的默认值),然后检查你的条件是否得到满足并相应地重新分配;然后可以对其进行评估以显示您的消息框。

您可以更多地缩短此代码,这是读者的练习。 (:

答案 1 :(得分:3)

你真的不需要bool变量,你可以简化它:

private void btnClick_Click(object sender, EventArgs e)
{
    if(txtCL.Text == "one")
    {
        MessageBox.Show("You entered the correct password.", "Important Message");
    }
    else
    {
        MessageBox.Show("The password you entered is not correct.", "Incorrect Input");
    }
}

如果您需要一些教程,只需谷歌“C#初学者教程”,或者如果您更喜欢视频教程,可以查看here

答案 2 :(得分:0)

    if(...) {
        bool myTest = true;
    } else {
        bool myTest = false;
    }

    // At this point in time 'myTest' is not a known variable. 
    // It's out of scope already s your next line will cause a compile error.
    if(myTest == true) { 
        ...
    }

所以你需要在范围中声明变量

    bool myTest = false;

    if(...) {
        myTest = true;
    } 

    // Now you can use the myTest variable
    if(myTest) { 
        ...
    }

正如您已经指出的那样,您根本不需要变量,因为它可以完全相同的

private void btnClick_Click(object sender, EventArgs e) {
    if(txtCL.Text == "one") {
        MessageBox.Show("You entered the correct password.", "Important Message");
    } else {
        MessageBox.Show("The password you entered is not correct.", "Incorrect Input");
    }
}

你可以阅读任意数量的书籍,但由于你已经拥有PHP的编程经验,我建议你更多地掌握C#的经验。同时,一本书当然不会受到伤害。但我认为你所遵循的方法(在线阅读,编码)最终会得到回报。给它一些时间。实践。很多。

答案 3 :(得分:-2)

我假设单击按钮时没有发生任何事情。这是真的?如果是,请在该行放置一个断点:if(txtCL.Text ==“one”),运行应用程序并单击它。如果没有达到断点,那么“click”事件和代码之间就没有联系。浏览按钮属性,您将看到一种建立链接的方法。

坚持下去,我是一个PHP家伙,现在是C#家伙。它可以做到。