很抱歉问这个,因为我认为我知道答案,如果userName大于4个字符或userName不是名为student的帐户,我想退出程序.但是,即使userName只有3个字符而且不是学生,我仍然会点击Application.Exit.我究竟做错了什么?
if (userName.Length > 4 | userName != "student")
{
Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)
对我感到羞耻:-(
Mar*_*ers 15
虽然您应该使用||而不是|,但在这种情况下它们会给出相同的结果.尽管其他答案的upvoting,改变|到 ||将不会解决你的问题.
您真正的问题是您要检查的条件始终为真.您的userName不是student,或者它是student,然后它也超过4个字符.
当您的用户名只有3个字符时,它不等于学生,因此程序退出.
根据您对预期的描述,我认为您的意思是:
if (userName.Length > 4 && userName != "student")
{
Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)
你需要使用布尔OR(||)运算符而不是按位OR(|)
正如我在评论中所说,你的逻辑对我来说并不一定有意义.它的写作方式,声明永远是真的:
如果userName不是student,则该语句为true且应用程序退出.
如果userName是student,则length> 4并且语句再次为true(这会导致退出).
你可以改变:
if(username.Length > 4 && userName != "student")
{
Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)
这在逻辑上更有意义,但由于我不知道你的意图,我不能保证它会以你想要的方式工作.
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |