.NET 幫助

C# 邏輯運算子(開發人員如何運作)

發佈 2024年8月15日
分享:

在程序設計中,理解邏輯運算符對於處理條件語句至關重要。 從 XOR 到算術運算,它們在判斷給定條件的真值方面起著至關重要的作用。

本指南將帶您了解C#中邏輯運算符的基本知識,包括布林值、運算符優先級、邏輯否定等概念。

什麼是邏輯運算符?

邏輯運算符,通常稱為邏輯運算,是程式設計中決策的核心。 它們操作布林表達式,根據所提供的條件對其進行評估,生成 true 或 false 的布林值。 這些運算符在控制程式的流程中扮演著關鍵角色,使你能夠根據特定條件執行特定的程式碼區塊。

以下,我們將深入探討 C# 中的不同邏輯運算符,了解它們的功能,並展示如何將邏輯運算符納入您的應用程式中,以精確且高效地執行邏輯操作。

C# 中邏輯運算子的類型

邏輯與運算符(&&)

邏輯 AND 運算子(&&)結合兩個布林表達式,如果兩者皆為真,則返回 true。 如果其中一個或兩個都是假的,結果即為假。 通常用於多條件場景中,所有條件都必須滿足。 例如,驗證用戶是否年齡夠大且有足夠的餘額進行購買。

&& 運算子:

  • 評估左操作數
  • 如果左操作數為假,則整個表達式為假
  • 如果左操作數為真,則評估右操作數
  • 如果兩個運算元都為真,則該表達式為真

    如果左操作數為假,那麼右操作數不會被評估,因為整個表達式保證為假。

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 為 true,但 hasBalance 為 false,因此結果為 false。

邏輯或運算符 (

)

邏輯或運算符(

)結合兩個布林表達式,如果至少有一個為真,則返回真。 如果兩者皆為假,則結果為假。 適用於至少一個條件必須為真的情況。 例如,允許會員或持有票券的人進入。

運算子:

  • 評估左操作數
  • 如果左操作數為真,整個表達式為真
  • 如果左操作數為假,則計算右操作數
  • 如果任一運算元為真,則該表達式為真

    如果左操作數為真,則右操作數不被評估,因為整個表達式保證為真。

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 為真,因此根本不會評估 hasTicket,結果為真。

邏輯非運算符 (!)

邏輯非運算符(!)反轉布林表達式的值。 如果操作數為真,則結果為假,反之亦然。 通常用來反轉條件。 例如,如果啟用了某個功能,您可能會使用 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 為 false,邏輯非運算符返回 true。

與其他運算子結合

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#

邏輯 XOR 運算符 (^)

邏輯 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 的值不同,邏輯 XOR 返回 true。 如果兩者都為真或兩者都為假,它將返回假。

其他相關操作符

複合賦值運算子

複合賦值運算符將算術運算與賦值結合起來。 它們是執行一個操作並將結果賦值給變量的簡寫。 以下是一些複合指定運算子的類型:

  • +=: 加並賦值
  • 減並指定
  • *=: 乘以並賦值
  • 除以並賦值
  • %=: 模數並賦值
  • &=: 按位與並賦值
  • : 位元或並賦值
  • ^=:按位异或并赋值

    它們的實際應用如下:

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)

    • 平等(==,!= )
  • 邏輯與(&&)
  • 邏輯或(

    )

位運算子

除了適用於布林值的邏輯運算符外,一些位元邏輯運算符還作用於整數的二進位表示。 按位邏輯運算子的類型有:

  • &: 位元運算 AND
  • 位元 OR
  • ^: 位元 XOR
  • 位元反向 (按位取反)
  • <<:左移
  • >>: 右移

    這些位元運算子允許您操作整數值中的各個位元。

Iron Suite:強大的C#工具包

Iron Suite 用於 C# 開發是一套旨在擴展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# 運算子能做什麼的初步介紹。 隨著Iron Suite 用於 C# 開發,您可以看到一些在現實應用中使用邏輯運算符的實例。

如果您想練習您的 C# 技能,Iron Suite 中的每個產品在開發環境中完全免費使用。 無論您是剛開始學習,還是已經是 C# 的專家,這些工具都可以幫助您將編碼提升到新的水平。

< 上一頁
C# 圓桌會議(開發人員的運作方式)
下一個 >
C# Getter Setter(開發人員如何運作)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >