C# - 逻辑运算符
C# 中的逻辑运算符是什么?
C# 逻辑运算符 用于评估多个条件并返回 true 或 false。当需要检查多个条件时,可以使用这些运算符将它们组合起来。这些运算符在编程中可用于决策、循环和数据验证。
逻辑运算符列表
下表列出了 C# 支持的所有逻辑运算符。假设变量 A 的布尔值为 true,变量 B 的布尔值为 false,则 −
| 运算符 | 符号 | 描述 | 示例 |
|---|---|---|---|
| 逻辑与 | && | 称为逻辑与运算符。如果两个操作数都非零,则条件成立。 | (A && B) 为假。 |
| 逻辑或 | || | 称为逻辑或运算符。如果两个操作数中有一个非零,则条件成立。 | (A || B) 为真。 |
| 逻辑非 | ! | 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将返回假。 | !(A && B) 为真。 |
C# 逻辑运算符示例
以下示例演示了 C# 中所有可用的逻辑运算符 -
using System;
namespace OperatorsAppl {
class Program {
static void Main(string[] args) {
bool a = true;
bool b = true;
if (a && b) {
Console.WriteLine("Line 1 - Condition is true");
}
if (a || b) {
Console.WriteLine("Line 2 - Condition is true");
}
/* 让我们改变 a 和 b 的值 */
a = false;
b = true;
if (a && b) {
Console.WriteLine("Line 3 - Condition is true");
} else {
Console.WriteLine("Line 3 - Condition is not true");
}
if (!(a && b)) {
Console.WriteLine("Line 4 - Condition is true");
}
Console.ReadLine();
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
Line 1 - Condition is true Line 2 - Condition is true Line 3 - Condition is not true Line 4 - Condition is true
更多逻辑运算符示例
示例 1:在 if 条件中使用逻辑运算符
在此示例中,我们将根据年龄和身份验证检查某人是否允许进入。
using System;
class Program
{
static void Main()
{
int age = 20;
bool hasID = true;
if (age >= 18 && hasID)
{
Console.WriteLine("Allowed to enter.");
}
else
{
Console.WriteLine("Entry denied.");
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
Allowed to enter.
示例 2:逻辑与 (&&)
在此示例中,我们根据分数和考试通过状态检查学生是否有资格获得奖学金。
using System;
class Program
{
static void Main()
{
int score = 85;
bool passedExam = true;
if (score >= 80 && passedExam)
{
Console.WriteLine("Eligible for scholarship.");
}
else
{
Console.WriteLine("Not eligible.");
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
Eligible for scholarship.
示例 3:逻辑或 (||)
在此示例中,我们将检查某人是否根据 VIP 通行证或普通门票获得访问权限。
using System;
class Program
{
static void Main()
{
bool hasVIPPass = false;
bool hasRegularTicket = true;
if (hasVIPPass || hasRegularTicket)
{
Console.WriteLine("Access granted.");
}
else
{
Console.WriteLine("Access denied.");
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
Access granted.
示例 4:逻辑非 (!)
在此示例中,我们检查是否下雨,以决定是否应该外出。
using System;
class Program
{
static void Main()
{
bool isRaining = false;
if (!isRaining)
{
Console.WriteLine("Go outside!");
}
else
{
Console.WriteLine("Stay indoors.");
}
}
}
在此示例中,我们检查是否下雨,以决定是否应该外出。
Go outside!
用例
以下是一些逻辑运算符的用例:
示例 5:用户登录验证
在此示例中,我们验证用户凭据以允许或拒绝登录。
using System;
class Program
{
static void Main()
{
string username = "admin";
string password = "pass123";
if (username == "admin" && password == "pass123")
{
Console.WriteLine("Login successful.");
}
else
{
Console.WriteLine("Invalid credentials.");
}
}
}
在此示例中,我们正在检查是否下雨以决定是否应该出门。
Login successful.
示例 6:检查商店折扣资格
在此示例中,我们将根据会员状态或购买金额检查客户是否有资格享受折扣。
using System;
class Program
{
static void Main()
{
bool isMember = true;
double purchaseAmount = 120.0;
if (isMember || purchaseAmount > 100)
{
Console.WriteLine("Discount applied.");
}
else
{
Console.WriteLine("No discount available.");
}
}
}
在此示例中,我们检查是否下雨,以决定是否应该外出。
Discount applied.
最佳实践
以下是在 C# 中使用逻辑运算符的最佳实践:
- 您应该使用括号对条件进行分组,例如 ((x && y) || z)。
- 您应该简化表达式,例如,使用 if (!isReady) 而不是 if (isReady == false)。
- 您必须避免冗余检查,例如,使用 if (x) 而不是 if (x == true)。
- 组合条件时,您应该始终测试边缘情况。

