2

这段代码:

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

4

3 回答 3

8

每行的括号是不平衡的。此外,由于优先级的工作方式,您有多余的括号;我会把它写成

private bool ValToEnterIsValid(string ACandidateVal) {
  return (ACandidateVal == "1" && !String.IsNullOrWhiteSpace(textBoxPhoneNum1.Text)) ||
         (ACandidateVal == "2" && !String.IsNullOrWhiteSpace(textBoxPhoneNum2.Text)) ||
         (ACandidateVal == "3" && !String.IsNullOrWhiteSpace(textBoxPhoneNum3.Text));
}

另外,您使用三个变量而不是数组是否有原因?

于 2012-04-25T22:36:12.583 回答
2

似乎您在 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)) )
         );
}
于 2012-04-25T22:37:48.800 回答
1

您在每个 !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)))
              );
        }
于 2012-04-25T22:41:28.067 回答