.NET 幫助

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

發佈 2024年8月15日
分享:

理解邏輯運算子在程式設計中處理條件語句時是至關重要的。從異或運算到算術運算,這些運算子在決定給定條件的真值方面發揮著重要作用。

這份指南將帶你了解 C# 中邏輯運算子的基本概念,包括布林值、運算子優先順序、邏輯否定等許多內容。

什麼是邏輯運算符?

邏輯運算符,通常稱為邏輯操作,構成編程中決策制定的核心。它們在布林表達式上進行操作,對其進行評估以生成布林值,該值根據提供的條件為真或假。這些運算符在控制程序流程中發揮著至關重要的作用,允許您根據特定標準執行特定的代碼塊。

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

C# 中邏輯運算子的類型

邏輯與運算符 (&&)

邏輯與運算符 (&&) 結合兩個布林表達式,並且在兩者皆為 true 時返回 true。如果其中一個或兩個為 false,結果即為 false。這通常用於多條件的情況中,當所有條件都需要滿足時。例如,驗證用戶是否年齡足夠且有足夠餘額進行購買。

&& 運算子:

  • 評估左操作數
  • 如果左操作數為 false,整個表達式為 false
  • 如果左操作數為 true,則評估右操作數
  • 只有在兩個操作數都為 true 時,表達式才為 true

如果左操作數為 false,右操作數不會被評估,因為整個表達式已經保證為 false。

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

邏輯 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 為 false,邏輯非運算符返回 true。

與其他運算符結合

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 運算符 (^)

邏輯 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。如果兩者都為 true 或兩者都為 false,則將返回 false。

其他相關操作符

複合賦值運算符

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

  • +=:相加並賦值
  • -=:相減並賦值
  • *=:相乘並賦值
  • /=:相除並賦值
  • %=:取模並賦值
  • &=:按位AND並賦值
  • =:按位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# 中運算子優先順序的順序:

  • 邏輯非 (Logical NOT) (!)
  • 乘法 (*, /,%)

增量 (+, -)

  • 關係運算和型別測試 <, >, <=, >=, is, as)

平等 (==, != )

邏輯與 (&&)

  • 邏輯或 (

)

位元運算子

除了作用於布林值的邏輯運算子外,一些位元邏輯運算子可以在整數的二進位表示上工作。位元邏輯運算子的類型有:

  • &: 位元 AND
  • |: 位元 OR
  • ^: 位元 XOR
  • ~: 位元 NOT
  • <<: 左移位
  • >>: 右移位

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

Iron Suite 強大的 C# 工具包

Iron Suite 是為擴展 C# 編程功能而精心設計的一組庫。這些出色的工具可以幫助開發者完成各種任務,例如文件處理、數據處理和文本識別。讓我們探討每個產品如何利用邏輯運算符。

IronPDF

IronPDF使開發人員能夠在C#應用程序中創建、閱讀、編輯和轉換PDF文件。考慮一種情景,您必須根據某些條件過濾並提取PDF中的特定信息。可以使用邏輯運算符來定義這些條件,使程序能夠智能地決定應提取或操作哪些數據。

了解更多有關 IronPDF 的資訊.

IronXL

IronXL 簡化了 Microsoft Excel 文件的操作,使您能夠在 C# 中直接讀取、寫入和操作電子表格。您可以利用邏輯運算符來創建處理數據時的動態條件。例如,使用邏輯 AND 運算符篩選符合多個標準的記錄,或使用邏輯 OR 運算符選擇符合幾個條件的行。

了解更多關於 IronXL.

IronOCR

IronOCR 是一個強大的工具,可以使你的 C# 應用程式識別並讀取圖像中的文字。邏輯運算子可以在後處理提取的文字時發揮作用。想像一個需要驗證提取信息的使用情境。使用邏輯 NOT、AND、OR 運算子,你可以創建複雜的驗證規則來確保數據的準確性。

了解更多有關 IronOCR 的資訊.

IronBarcode

IronBarcode 增加了在 C# 應用程式中生成、讀取和識別條碼的能力。您可以使用邏輯運算符來決定要根據特定條件開發或讀取哪種類型的條碼,或者根據某些邏輯規則來驗證條碼數據。

了解更多關於 IronBarcode 的資訊.

結論

邏輯運算符是任何新手程式設計師必備的技能,這份指南只是 C# 運算符能做的事情的簡介。 Iron Suite, 您可以看到一些在現實應用中使用邏輯運算符的實例。

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

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

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

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >