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

また、配列の代わりに3つの変数を使用している理由はありますか?

于 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 に答える