我刚开始尝试学习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");
}
}
如果有人能指点我更好的教程,我会非常感激,这样我就可以更快地学习。微软的文档真的没有教我任何东西。
我为这个愚蠢的问题道歉,随时称我为白痴。
答案 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#家伙。它可以做到。