.NET 帮助

C# 逻辑运算符(开发人员如何使用)

发布 2024年八月15日
分享:

理解逻辑运算符在编写条件语句时至关重要。从异或到算术操作,它们在确定给定条件的真值方面起着重要作用。

本指南将引导您了解C#中逻辑运算符的基础知识,包括布尔值、运算符优先级、逻辑取反等诸多概念。

什么是逻辑运算符?

逻辑运算符,通常称为逻辑操作,是编程中决策的核心。它们对布尔表达式进行操作,根据提供的条件对其进行评估,从而生成一个布尔值,可能为真或假。这些运算符在控制程序流程中起着至关重要的作用,使您能够根据特定的标准执行特定的代码块。

下面,我们将深入探讨 C# 中的不同逻辑运算符,了解它们的功能,并展示如何在应用程序中引入逻辑运算符,以精确和高效地执行逻辑操作。

C&num 中的逻辑操作符类型;

逻辑与运算符 (&&)

逻辑 AND 运算符 (&&) 结合两个布尔表达式,当两个表达式都为真时返回真。如果其中一个或两个为假,则结果为假。常用于所有条件必须满足的多条件场景。例如,验证用户是否足够大并且有足够的余额进行购买。

&& 操作符:

  • 评估左操作数
  • 如果左操作数为假,则整个表达式为假
  • 如果左操作数为真,则评估右操作数
  • 只有两个操作数都为真时,表达式才为真

如果左操作数为假,则不会评估右操作数,因为整个表达式肯定为假。

class Program
{
   static void Main(string [] args)
   {
       bool isAdult = true;
       bool hasBalance = false;
       bool canPurchase = isAdult && hasBalance;
       Console.WriteLine(canPurchase); // Output: false
   }
}
class Program
{
   static void Main(string [] args)
   {
       bool isAdult = true;
       bool hasBalance = false;
       bool canPurchase = isAdult && hasBalance;
       Console.WriteLine(canPurchase); // Output: false
   }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

在这个例子中,即使isAdult为真,hasBalance为假,所以结果为假。

逻辑或运算符 (

)

逻辑 OR 运算符 (

) 组合两个布尔表达式,如果至少有一个为真,则返回真。如果两者都为假,则结果为假。适用于至少一个条件必须为真的情况。例如,如果一个人是会员或有票,则允许入场。

运算符:

  • 评估左操作数
  • 如果左操作数为真,整个表达式为真
  • 如果左操作数为假,则计算右操作数
  • 如果任一操作数为真,则表达式为真

如果左操作数为真,则不计算右操作数,因为整个表达式保证为真。

class Program
{
   static void Main(string [] args)
   {
       bool isMember = true;
       bool hasTicket = false;
       bool canEnter = isMemberhasTicket;
       Console.WriteLine(canEnter); // Output: true
   }
}
class Program
{
   static void Main(string [] args)
   {
       bool isMember = true;
       bool hasTicket = false;
       bool canEnter = isMemberhasTicket;
       Console.WriteLine(canEnter); // Output: true
   }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

在这里,由于 isMember 为 true,hasTicket 根本不会被评估,结果为 true。

逻辑非运算符 (!)

逻辑 NOT 运算符 (!) 将布尔表达式的值取反。如果操作数为 true,结果为 false,反之亦然。通常用于反转条件。例如,如果某个功能被启用,你可能会使用 NOT 运算符来确定它是否应该被禁用。

以下是它的工作方式:

  • 评估操作数。
  • 如果操作数为 true,则结果为 false。

  • 如果操作数为 false,则结果为 true。
class Program
{
   static void Main(string [] args)
   {
       bool isLoggedOn = false;
       bool showLoginButton = !isLoggedOn;
       Console.WriteLine(showLoginButton); // Output: true
   }
}
class Program
{
   static void Main(string [] args)
   {
       bool isLoggedOn = false;
       bool showLoginButton = !isLoggedOn;
       Console.WriteLine(showLoginButton); // Output: true
   }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

在这里,由于 isLoggedOn 为假,逻辑非运算符返回真。

与其他运算符结合使用

NOT 运算符可以与 AND 和 OR 运算符一起使用,以创建更复杂的条件。

bool isWeekend = false;
bool hasVacation = true;
bool isWorkDay = !(isWeekendhasVacation);
Console.WriteLine(isWorkDay); // Output: false
bool isWeekend = false;
bool hasVacation = true;
bool isWorkDay = !(isWeekendhasVacation);
Console.WriteLine(isWorkDay); // Output: false
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

逻辑异或运算符 (^)

逻辑 XOR 运算符 (^) 如果两个操作数的值不同,则返回 true。如果两个值相同,则返回 false。当你想确保两个条件中只有一个为真,而不是两个都为真时,此运算符特别有用。

class Program
{
   static void Main(string [] args)
   {
       bool hasPassword = true;
       bool hasSmartCard = false;
       bool canLogin = hasPassword ^ hasSmartCard;
       Console.WriteLine(canLogin); // Output: true
   }
}
class Program
{
   static void Main(string [] args)
   {
       bool hasPassword = true;
       bool hasSmartCard = false;
       bool canLogin = hasPassword ^ hasSmartCard;
       Console.WriteLine(canLogin); // Output: true
   }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

由于 hasPassword 和 hasSmartCard 的值不同,因此逻辑异或返回 true。如果两者都是 true 或两者都是 false,则返回 false。

其他相关运营商

复合赋值运算符

复合赋值运算符将算术运算与赋值结合在一起。它们是执行运算并将结果赋给变量的简写。以下是一些类型的复合赋值运算符:

  • +=:加并赋值
  • -=:减并赋值
  • *=:乘并赋值
  • /=:除并赋值
  • %=:取模并赋值
  • &=:按位与并赋值
  • |=:按位或并赋值
  • ^=: 按位异或并赋值

以下是它们的实际使用:

int x = 5;
x += 3; // Equivalent to x = x + 3; x is now 8
int x = 5;
x += 3; // Equivalent to x = x + 3; x is now 8
Dim x As Integer = 5
x += 3 ' Equivalent to x = x + 3; x is now 8
VB   C#

算术运算符

算术运算符执行标准的数学运算。它们包括:

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • %:取余 (余下部分)

运算符优先级

运算符优先级定义了表达式中操作的执行顺序。例如,乘法和除法在加法和减法之前执行。

以下是C#中运算符优先级的顺序:

  • 逻辑非 (!)
  • 乘法的 (*, /, %)

添加剂 (+, -)

  • 关系运算符和类型测试 <, >, <=, >=, is, as)
  • 平等 (==, !=)

  • 逻辑与 (&&)

逻辑或 (

)

按位操作符

除了处理布尔值的逻辑操作符之外,一些按位逻辑操作符在整数的二进制表示上工作。按位逻辑操作符的类型有:

  • &: 按位与
  • |: 按位或
  • ^: 按位异或
  • ~: 按位非
  • <<: 左移
  • >>: 右移

这些按位操作符使你能够操作整数值内的各个位。

Iron Suite:强大的 C# 工具包

The Iron Suite 是一个旨在扩展C#编程功能的库集合。这个出色的工具集可以帮助开发人员完成各种任务,如文档处理、数据处理和文本识别。让我们探讨每个产品如何利用逻辑运算符。

IronPDF

IronPDF 使开发人员能够在 C# 应用程序中创建、读取、编辑和转换 PDF 文档。考虑一种场景,您必须根据某些条件过滤和提取 PDF 中的特定信息。可以使用逻辑运算符来定义这些条件,从而使程序能够智能地决定提取或操作哪些数据。

了解更多关于IronPDF的信息.

IronXL

IronXL简化了Microsoft Excel文件的操作,使您可以直接在C#中读取、写入和操作电子表格。您可以使用逻辑运算符来创建动态条件来处理数据。例如,使用逻辑与运算符来筛选符合多个条件的记录,或使用逻辑或运算符来选择满足多种条件的行。

了解更多关于IronXL的信息.

IronOCR

IronOCR 是一个强大的工具,能够使您的 C# 应用程序识别并读取图像中的文本。逻辑运算符可以在提取文本的后处理中发挥作用。想象一下您需要验证提取的信息的用例。使用逻辑 NOT、AND、OR 运算符,您可以创建复杂的验证规则,以确保数据的准确性。

了解更多关于IronOCR的信息.

IronBarcode

IronBarcode 添加了在 C# 应用程序中生成、读取和识别条形码的功能。您可以使用逻辑运算符来确定根据特定条件开发或读取哪种类型的条形码,或者根据某些逻辑规则验证条形码数据。

了解更多关于IronBarcode的信息.

结论

逻辑运算符是任何新兴程序员必备的技能,本指南只是 C# 运算符功能的冰山一角。 Iron Suite可以看到在实际应用中使用逻辑运算符的一些实用示例。

如果您想练习 C# 技能,Iron Suite 中的每个产品在开发环境中都是完全免费的。无论您是刚刚入门还是已经是 C# 专家,这些工具都可以帮助您将编码提升到一个新的水平。

< 前一页
C# 圆 (如何为开发人员工作)
下一步 >
C# Getter Setter(开发者如何使用)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >