.NET 帮助

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

发布 2024年八月15日
分享:

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

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

什么是逻辑运算符?

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

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

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

逻辑与运算符 (&&)

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

&& 运算符:

  • 评估左操作数
  • 如果左操作数为假,则整个表达式为假
  • 如果左操作数为真,则右操作数将被求值
  • 当两个操作数都为真时,表达式为真。

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

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为假,所以结果为假。

逻辑或运算符(

)

逻辑或运算符(

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

"(《世界人权宣言》)

操作员

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

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

class Program
{
   static void Main(string [] args)
   {
       bool isMember = true;
       bool hasTicket = false;
       bool canEnter = isMember 
 hasTicket;
       Console.WriteLine(canEnter); // Output: true
   }
}
class Program
{
   static void Main(string [] args)
   {
       bool isMember = true;
       bool hasTicket = false;
       bool canEnter = isMember 
 hasTicket;
       Console.WriteLine(canEnter); // Output: true
   }
}
Friend Class Program
   Shared Sub Main(ByVal args() As String)
	   Dim isMember As Boolean = True
	   Dim hasTicket As Boolean = False
	   Dim canEnter As Boolean = isMember hasTicket
	   Console.WriteLine(canEnter) ' Output: true
   End Sub
End Class
VB   C#

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

逻辑非运算符 (!)

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

这是它的工作原理:

  • 计算操作数。
  • 如果操作数为真,则结果为假。
  • 如果操作数为假,结果为真。
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 = !(isWeekend 
 hasVacation);
Console.WriteLine(isWorkDay); // Output: false
bool isWeekend = false;
bool hasVacation = true;
bool isWorkDay = !(isWeekend 
 hasVacation);
Console.WriteLine(isWorkDay); // Output: false
Dim isWeekend As Boolean = False
Dim hasVacation As Boolean = True
Dim isWorkDay As Boolean = Not (isWeekend hasVacation)
Console.WriteLine(isWorkDay) ' Output: false
VB   C#

逻辑异或运算符 (^)

逻辑异或运算符(^)如果两个操作数的值不同,则返回 true。 如果二者相同,则返回 false。 当您想要确保两个条件中只有一个为 true 而不是都为 true 时,该运算符尤其有用。

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。 如果两者都为真或两者都为假,则返回假。

其他相关运营商

复合赋值运算符

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

  • +=:添加并分配
  • 减并赋值
  • *=: 乘并赋值
  • /=: 除并赋值
  • %=: 求余并赋值
  • &=: 按位与并赋值
  • :双向 OR 和赋值
  • ^=:按位异或并赋值

    它们的实际效果如下:

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# 和 num 的强大工具包;

"(《世界人权宣言》)用于 C# 开发的 Iron Suite是一个专为扩展C#编程功能而设计的库集合。 这一套杰出的工具可以帮助开发者完成各种任务,例如文档处理、数据处理和文本识别。 让我们探讨每个产品如何利用逻辑运算符。

IronPDF

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

了解 IronPDF 如何增强 PDF 文档处理能力.

IronXL

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

了解如何使用 IronXL.Excel 工作.

IronOCR

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

了解 IronOCR 如何实现光学字符识别.

IronBarcode

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

了解 IronBarcode 如何管理条码操作.

结论

逻辑运算符是任何新手程序员必须掌握的技能,本指南只是 C# 运算符功能的一个简要介绍。 与用于 C# 开发的 Iron Suite你可以看到一些在实际应用中使用逻辑运算符的实际例子。

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

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

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >