I know that AndAlso
is equivalent to &&
and OrElse
is equivalent to ||
. But what is the cleanest way to achieve the equivalent of Visual Basic's And
and Or
in C#?
For example, consider the following VB.NET code. The ValidateForControl
method performs some validation and returns whether the state of the specified control is valid. The entire input form is valid if all controls are valid. However, each control must be individually validated even if one is invalid (which requires the operator not to short-circuit). Visual Basic's And
operator is perfect for this situation, but unfortunately there's no equivalent operator in C# as far as I know (&&
short-circuits).
Return _
Me.ValidateForControl(Me.firstNameTextBox) And
Me.ValidateForControl(Me.middleNameTextBox) And
Me.ValidateForControl(Me.lastNameTextBox) And
Me.ValidateForControl(Me.streetAddressTextBox) And
Me.ValidateForControl(Me.cityTextBox) And
Me.ValidateForControl(Me.stateComboBox) And
Me.ValidateForControl(Me.zipCodeMaskedTextBox) And
Me.ValidateForControl(Me.phoneMaskedTextBox) And
Me.ValidateForControl(Me.emailAddressTextBox) And
Me.ValidateForControl(Me.checkInDateTimePicker) And
Me.ValidateForControl(Me.checkOutDateTimePicker) And
Me.ValidateForControl(Me.rentalUnitsGroupBox)
Also, for booleans, is ^
in C# equivalent to Xor
in Visual Basic?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…