C# 为什么VS坚持认为另一个正确的参数是预期的?
此代码:C# 为什么VS坚持认为另一个正确的参数是预期的?,c#,boolean,C#,Boolean,此代码: private bool ValToEnterIsValid(string ACandidateVal) { return ((ACandidateVal == "1") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) || ((ACandidateVal == "2") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum2.Te
private bool ValToEnterIsValid(string ACandidateVal) {
return ((ACandidateVal == "1") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ||
((ACandidateVal == "2") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum2.Text)) ||
((ACandidateVal == "3") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum3.Text));
}
…以及此代码:
private bool ValToEnterIsValid(string ACandidateVal) {
return (((ACandidateVal == "1") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ||
((ACandidateVal == "2") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum2.Text)) ||
((ACandidateVal == "3") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum3.Text)));
}
…导致VS说,“)预期”-无论我添加了多少正确的参数,尝试幽默它 每行的括号都不平衡。此外,由于优先权的工作方式,你有一些无关的帕伦;我会把它写成
private bool ValToEnterIsValid(string ACandidateVal) {
return (ACandidateVal == "1" && !String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ||
(ACandidateVal == "2" && !String.IsNullOrWhiteSpace(textBoxPhoneNum2.Text)) ||
(ACandidateVal == "3" && !String.IsNullOrWhiteSpace(textBoxPhoneNum3.Text));
}
另外,使用三个变量而不是数组有什么原因吗?似乎在if的每个部分都缺少a):
private bool ValToEnterIsValid(string ACandidateVal) {
return (( (ACandidateVal == "1") &&
(!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ) ||
( (ACandidateVal == "2") &&
(!String.IsNullOrWhiteSpace(textBoxPhoneNum2.Text)) ) ||
( (ACandidateVal == "3") &&
(!String.IsNullOrWhiteSpace(textBoxPhoneNum3.Text)) )
);
}
您在每个结尾处都缺少了额外的“)”!String.IsNullOrWhiteSpace比较:
此代码适用于:
private bool ValToEnterIsValid(string ACandidateVal) {
return (
(ACandidateVal == "1") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ||
(ACandidateVal == "2") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ||
(ACandidateVal == "3") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text))
);
}
private bool ValToEnterIsValid(string ACandidateVal) {
return (
((ACandidateVal == "1") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text))) ||
((ACandidateVal == "2") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum2.Text))) ||
((ACandidateVal == "3") && (!String.IsNullOrWhiteSpace(textBoxPhoneNum3.Text)))
);
}
哦,我忘了IsNullOrWhiteSpace()爵士乐!从左边开始。每次你看到一个(,举起一个手指。当你看到),放下一个手指。如果你曾经试图在手指没有抬起的时候把手指放低,那么你有太多的近肢。如果你已经做完了,但你仍然竖起了手指,那么你的亲密伴侣就太少了。+1因为
试图幽默它代码>让我发笑。这基本上是我通常做的,但不管出于什么原因,我在那里有一个“盲点”。。。我通常只是自己数:1,2,1,2,1,0-啊!或者…哦,不!这一次我的“哦,不”失败了。像这样的代码很难阅读,而且很容易出错(因此,这里的帖子试图找出它为什么不工作)。我建议将每个条件分解为它自己的行,并像这样进行评估。它使代码更易于编写、维护和以后的故障排除。