为什么VS一直坚持期望另一个正确的帕伦

本文关键字:另一个 VS 一直 坚持 期望 为什么 | 更新日期: 2023-09-27 18:32:11

此代码:

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说,"预期"-无论我添加多少正确的括号,都试图幽默它!

为什么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的每个部分都缺少一个):

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)))
              );
        }