跳過到頁腳內容
.NET幫助

C# 邏輯運算符(開發者的工作原理)

在程式設計中處理條件語句時,了解邏輯運算符是必不可少的。 從 XOR 到算術運算,它們在確定給定條件的真值中發揮著至關重要的作用。

本指南將引導您了解 C# 中邏輯運算符的基礎知識,包括布爾值、運算符優先順序、邏輯否定等概念。

什麼是邏輯運算符?

邏輯運算符,通常稱為邏輯運算,是程式設計中決策的核心。 它們在布爾表達式上運行,評估它們以產生布爾值,根據提供的條件為真或假。 這些運算符在控制程式的流程中起著關鍵作用,使您能夠根據特定標準執行特定的程式碼塊。

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

Types of Logical Operators in C#

邏輯 AND 運算符 (&&)

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

&& 運算符:

  • 評估左操作數
  • 如果左操作數為假,整個表達式為假
  • 如果左操作數為真,則評估右操作數
  • 當兩個操作數都為真時,表達式為真

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

class Program
{
    static void Main(string[] args)
    {
        bool isAdult = true;
        bool hasBalance = false;
        bool canPurchase = isAdult && hasBalance;

        // Output the result to the console; expected output is false
        Console.WriteLine(canPurchase); // Output: false
    }
}
class Program
{
    static void Main(string[] args)
    {
        bool isAdult = true;
        bool hasBalance = false;
        bool canPurchase = isAdult && hasBalance;

        // Output the result to the console; expected output is false
        Console.WriteLine(canPurchase); // Output: false
    }
}
$vbLabelText   $csharpLabel

在這個示例中,儘管 isAdult 為真,但 hasBalance 為假,因此結果為假。

邏輯 OR 運算符 (

邏輯 OR 運算符 (||) 結合兩個布爾表達式,並在至少其中一個為真時返回 true。 如果兩者皆為假,則結果為假。 理想情況下,這適用於必須有多個條件中至少一個為真的場景。 例如,允許成員或持票人進入。

|| 運算符:

  • 評估左操作數
  • 如果左操作數為真,整個表達式為真
  • 如果左操作數為假,則評估右操作數
  • 當任一操作數為真時,表達式為真

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

class Program
{
    static void Main(string[] args)
    {
        bool isMember = true;
        bool hasTicket = false;
        bool canEnter = isMember || hasTicket;

        // Output the result to the console; expected output is true
        Console.WriteLine(canEnter); // Output: true
    }
}
class Program
{
    static void Main(string[] args)
    {
        bool isMember = true;
        bool hasTicket = false;
        bool canEnter = isMember || hasTicket;

        // Output the result to the console; expected output is true
        Console.WriteLine(canEnter); // Output: true
    }
}
$vbLabelText   $csharpLabel

在此,由於 isMember 為真,因此甚至不評估 hasTicket,結果為真。

邏輯 NOT 運算符 (!)

邏輯 NOT 運算符 (!) 顛倒布爾表達式的值。 如果操作數為真,則結果為假,反之亦然。 通常用於反轉條件。 例如,如果某個功能已啟用,您可以使用 NOT 運算符來確定它是否應該關閉。

其工作原理如下:

  • 評估操作數。
  • 如果操作數為真,則結果為假。
  • 如果操作數為假,則結果為真。
class Program
{
    static void Main(string[] args)
    {
        bool isLoggedOn = false;
        bool showLoginButton = !isLoggedOn;

        // Output the result to the console; expected output is true
        Console.WriteLine(showLoginButton); // Output: true
    }
}
class Program
{
    static void Main(string[] args)
    {
        bool isLoggedOn = false;
        bool showLoginButton = !isLoggedOn;

        // Output the result to the console; expected output is true
        Console.WriteLine(showLoginButton); // Output: true
    }
}
$vbLabelText   $csharpLabel

在此,由於 isLoggedOn 為假,邏輯 NOT 運算符返回真。

與其他運算符結合

NOT 運算符可以與 AND 和 OR 運算符一起使用,以創建更複雜的條件。

bool isWeekend = false;
bool hasVacation = true;
bool isWorkDay = !(isWeekend || hasVacation);

// Output the result to the console; expected output is false
Console.WriteLine(isWorkDay); // Output: false
bool isWeekend = false;
bool hasVacation = true;
bool isWorkDay = !(isWeekend || hasVacation);

// Output the result to the console; expected output is false
Console.WriteLine(isWorkDay); // Output: false
$vbLabelText   $csharpLabel

邏輯 XOR 運算符 (^)

邏輯 XOR 運算符 (^) 在兩個操作數具有不同值時返回真。 如果兩者相同,則返回假。 當您希望確保僅有兩個條件之一為真而不是同時為真時,該運算符特別有用。

class Program
{
    static void Main(string[] args)
    {
        bool hasPassword = true;
        bool hasSmartCard = false;
        bool canLogin = hasPassword ^ hasSmartCard;

        // Output the result to the console; expected output is true
        Console.WriteLine(canLogin); // Output: true
    }
}
class Program
{
    static void Main(string[] args)
    {
        bool hasPassword = true;
        bool hasSmartCard = false;
        bool canLogin = hasPassword ^ hasSmartCard;

        // Output the result to the console; expected output is true
        Console.WriteLine(canLogin); // Output: true
    }
}
$vbLabelText   $csharpLabel

由於 hasPasswordhasSmartCard 的值不同,邏輯 XOR 返回真。 如果兩者皆為真或皆為假,則返回假。

其他相關運算符

複合賦值運算符

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

  • +=:加並賦值
  • -=:減並賦值
  • *=:乘並賦值
  • /=:除並賦值
  • %=:取模並賦值
  • &=:位元 AND 並賦值
  • `|=:位元 OR 並賦值
  • ^=:位元 XOR 並賦值

以下是它們的工作範例:

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
$vbLabelText   $csharpLabel

算術運算符

算術運算符執行標準數學運算。 它們包括:

  • +:加法
  • -:減法
  • *:乘法
  • /:除法
  • %:模數(除法的餘數)

運算符優先次序

運算符優先次序定義了表達式中執行運算的順序。 例如,乘法和除法在加法和減法之前執行。

以下是 C# 中運算符優先次序的順序:

  1. 邏輯 NOT (!)
  2. 乘法類 (*, /, %)
  3. 加法類 (+, -)
  4. 關係和類型測試 (<, >, <=, >=, is, as)
  5. 等式 (==, !=)
  6. 邏輯 AND (&&)
  7. 邏輯 OR (||)

位元運算符

除了用於布爾值的邏輯運算符,還有些位元邏輯運算符用於整數的二進制表示。 位元邏輯運算符的類型有:

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

這些位元運算符使您能夠在整數值內操作個別位元。

Iron Suite: A Powerful Toolkit for C#

Iron Suite for C# Development 是一組旨在擴展 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 for C# Development,您可以看到使用邏輯運算符的實際範例。

如果您正在尋找練習 C# 技能,Iron Suite 中的每個產品均可在開發環境中免費使用。 無論您剛剛起步,還是已經是 C# 專家,這些工具都可以幫助您將編程提升到新高度。

常見問題解答

什麼是 C# 的邏輯運算符,它們如何被使用?

C# 中的邏輯運算符用於評估布林表達式以在編程中做出決策。包括 AND (&&)、OR (||)、NOT (!) 和 XOR (^)。這些運算符幫助確定代碼中條件的真實性,從而有效控制程式流程。

如何使用邏輯運算符處理 C# 中的 PDF 文檔?

使用 IronPDF,邏輯運算符可以定義從 PDF 文件中提取特定數據的條件。例如,您可以使用 AND (&&) 運算符確保在處理或提取數據之前滿足多個條件。

C# 中的邏輯 AND 和邏輯 OR 運算符有什麼區別?

邏輯 AND 運算符 (&&) 只有在兩個操作數都為真時才返回真,而邏輯 OR 運算符 (||) 則是在至少有一個操作數為真時返回真。這些運算符有助於構建複雜的條件語句。

IronPDF 上的文章 'C# 邏輯運算符(開發者運作方式)' 提供了一個關於理解和應用 C# 編程中的邏輯運算符的指南。邏輯運算符(AND (&&)、OR (||)、NOT (!)、XOR (^))在編碼的決策過程中是基本的,因為它們評估布林表達式以確定條件的真實性...

邏輯 NOT 運算符 (!) 反轉布林表達式的值。如果條件為真,則應用 NOT 運算符將其變為假,反之亦然。這對於反轉條件結果非常有用。

邏輯運算符可以與 C# 的複合賦值運算符結合使用嗎?

是的,邏輯運算符可以與 C# 的複合賦值運算符結合使用,以高效地執行操作。複合賦值運算符如 +=、-= 等允許您在一個步驟中執行算術操作並分配結果。

運算符優先級如何影響 C# 表達式的評估?

運算符優先級決定表達式中操作執行的順序。在 C# 中,乘法和除法比加法和減法先進行評估,而邏輯運算符具有其自己的優先級別,這會影響複雜表達式如何解決。

什麼是 XOR 運算符,何時在 C# 中使用?

C# 中的 XOR 運算符 (^) 在兩個操作數具有不同布林值時返回真。它特別適合需要兩個條件中只有一個為真的情況,如切換狀態。

開發者如何利用 Iron Suite 增強 C# 的文檔處理能力?

開發者可利用 Iron Suite 增強 C# 的文檔處理能力,使用工具如 IronPDF 處理 PDF、IronXL 處理 Excel 文件以及 IronOCR 進行文本識別。這些工具可與邏輯運算符整合,以高效處理數據。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me