6.2. Logical Operators
Sometimes it is necessary to make complex decisions based upon the state of two or more variables. For example, to determine if a year is a leap year, you apply the following test:
If the year can be evenly divided by 4, but not by 100, it is a leap year. The exception occurs if the year is evenly divisible by 400. If so, it is a leap year.
If you try to code this as a series of simple if statements, the code gets a little messy. It's actually easier to code the algorithm if you can use a combination of logical operators. The C# conditional logical operators are shown in Table 6-2.
| Item | Meaning | Example |
|---|---|---|
| Logical && | Logical AND | x && y |
| Logical || | Logical OR | x || y |
| Logical ! | Logical NOT | !x |
Because these are logical operators, each one resolves to a true or false expression. I can show these relationships by using truth tables. Table 6-3 shows the truth table for the logical AND operator.
| Expression1 | Expression2 | Expression1 && Expression2 |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
The last column in Table 6-2 shows that the logical AND truth table is constructed using two expressions in conjunction with the && operator. Table 6-3 shows the outcome for all possible values for those two expressions and the impact on the logical AND result. For example, if Expression1 resolves to logic True and Expression2 resolves to logic False, the result is logic False. This is because a logical AND requires both expressions to be True for ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access