C# 邏輯運算符(開發者的工作原理)
在程式設計中使用條件語句時,瞭解邏輯運算符號是非常重要的。 從 XOR 到算術運算,它們在決定給定條件的真值時扮演著重要的角色。
本指南將引導您了解 C# 中邏輯運算符的基本知識,包括布林值、運算符優先級、邏輯否定等概念。
什麼是邏輯運算符號?
邏輯運算符號通常稱為邏輯運算,是程式設計中決策的核心。 這些工具會對布林表達式進行操作,根據提供的條件,評估這些表達式以產生真或假的布林值。 這些運算符號在控制程式流程方面扮演重要角色,可讓您根據特定條件執行特定的程式碼區塊。
以下,我們將深入介紹 C# 中不同的邏輯運算符號,瞭解它們的功能,並展示如何將邏輯運算符號納入您的應用程式,以精確且有效率的方式執行邏輯運算。
C# 中的邏輯運算符號類型;
邏輯 AND 運算符號 (&&)
邏輯 AND 運算符號 (&&) 結合兩個布林表達式,若兩者皆為真,則返回 true。 如果其中一個或兩個都是假的,結果就是假的。 常用於必須滿足所有條件的多條件情境。 例如,驗證使用者的年齡和餘額是否足以購買。
&& 運算符:
- 評估左操作數
- 如果左操作項為 false,則整個表達式為 false
- 如果左操作項為真,則評估右操作項
- 如果兩個操作數都為真,則表達式為真
如果左操作項為 false,則不評估右操作項,因為整個表達式保證為 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
}
}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
}
}Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim isAdult As Boolean = True
Dim hasBalance As Boolean = False
Dim canPurchase As Boolean = isAdult AndAlso hasBalance
' Output the result to the console; expected output is false
Console.WriteLine(canPurchase) ' Output: false
End Sub
End Class在這個範例中,即使 isAdult 是 true,但 hasBalance 是 false,因此結果是 false。
邏輯 OR 運算符號 ()
邏輯 OR 運算符 (||) 結合兩個布林表達式,如果至少有一個為真,則返回 true。 如果兩者都是假的,結果就是假的。 最適合用於幾個條件中至少有一個必須為真的情況。 例如,如果某人是會員或有票,就允許進入。
該 || 操作員:
- 評估左操作數
- 如果左操作項為真,則整個表達式為真
- 如果左操作項為 false,則評估右操作項
- 如果任一操作數為真,則表達式為真
如果左操作項為真,則不評估右操作項,因為整個表達式保證為真。
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
}
}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 OrElse hasTicket
' Output the result to the console; expected output is true
Console.WriteLine(canEnter) ' Output: true
End Sub
End Class在此,由於 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
}
}Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim isLoggedOn As Boolean = False
Dim showLoginButton As Boolean = Not isLoggedOn
' Output the result to the console; expected output is true
Console.WriteLine(showLoginButton) ' Output: true
End Sub
End Class在此,由於 isLoggedOn 為 false,因此邏輯 NOT 運算符號會返回 true。
與其他運算符號結合
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: falsebool isWeekend = false;
bool hasVacation = true;
bool isWorkDay = !(isWeekend || hasVacation);
// Output the result to the console; expected output is false
Console.WriteLine(isWorkDay); // Output: falseDim isWeekend As Boolean = False
Dim hasVacation As Boolean = True
Dim isWorkDay As Boolean = Not (isWeekend OrElse hasVacation)
' Output the result to the console; expected output is false
Console.WriteLine(isWorkDay) ' Output: false邏輯 XOR 運算符號 (^)
如果兩個操作數具有不同的值,邏輯 XOR 運算符號 (^) 會返回 true。 如果兩者相同,則返回 false。 當您想要確保兩個條件中的一個為真,而不是兩個都為真時,這個運算符號特別有用。
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
}
}Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim hasPassword As Boolean = True
Dim hasSmartCard As Boolean = False
Dim canLogin As Boolean = hasPassword Xor hasSmartCard
' Output the result to the console; expected output is true
Console.WriteLine(canLogin) ' Output: true
End Sub
End Class由於 hasPassword 和 hasSmartCard 的值不同,邏輯 XOR 會返回 true。 如果兩者皆為真或兩者皆為假,則會回傳 false。
其他相關操作符
複合指定操作符
複合赋值運算符結合了算術與赋值。 它們是執行操作並將結果指定給變數的速記。 以下是一些複合赋值運算符的類型:
+=:新增和指定-=: 減法和指定*=:乘法和分配/=:分割和分配%=:模數和賦值&=: 位元 AND 和指定|=:位元 OR 和指定^=: 位元 XOR 和指定
在這裡,他們正在運作中:
int x = 5;
x += 3; // Equivalent to x = x + 3; x is now 8int x = 5;
x += 3; // Equivalent to x = x + 3; x is now 8Dim x As Integer = 5
x += 3 ' Equivalent to x = x + 3; x is now 8算術運算符號
算術運算符號執行標準的數學運算。 這些工具包括
+:加法-: 減法*:乘法/:分部%:模數 (除法的餘數)
操作員優先級
運算符號的優先順序定義了在表達式中執行操作的順序。 例如,先執行乘法和除法,再執行加法和減法。
以下是 C# 中運算符號的優先順序:
1.邏輯 NOT (!) 2.乘法 (*, /, %) 3.加法 (+, -) 4.關聯性和類型測試 (<, >, <=, >=, is, as) 5.等式 (==, !=) 6.邏輯 AND (&&) 7.邏輯 OR (||)
Bitwise 運算符號
除了用於布林值的邏輯運算符之外,有些位元邏輯運算符也用於整數的二進位表示。 位元邏輯運算符的類型有
&: 位元 AND|:雙向 OR^: 位元 XOR~: 位元 NOT<<: Left Shift>:右移
這些位元運算符可讓您操作整數值中的個別位元。
Iron Suite:C# 的強大工具包;
Iron Suite for C# Development 是一套專為擴充 C# 程式設計功能而量身打造的函式庫。 這套非凡的工具可以協助開發人員執行各種任務,例如文件處理、資料處理和文字辨識。 讓我們來探討每個產品如何利用邏輯運算符號。
IronPDF。
IronPDF 可讓開發人員在 C# 應用程式中建立、閱讀、編輯和轉換 PDF 文件。 考慮一種情況:您必須根據特定條件從 PDF 中過濾並提取特定資訊。 邏輯運算符號可以用來定義這些條件,讓程式能夠智慧地決定要擷取或處理哪些資料。
IronXL。
IronXL.Excel 簡化了 Microsoft Excel 檔案的工作,讓您可以直接在 C# 中讀取、寫入和處理試算表。 在處理資料時,您可以利用邏輯運算符來建立動態條件。 例如,使用邏輯 AND 運算子過濾符合多個條件的記錄,或使用邏輯 OR 運算子選擇符合多個條件的行。
IronOCR。
IronOCR 是一款強大的工具,能讓您的 C# 應用程式從影像中辨識並讀取文字。 邏輯運算符號可在擷取文字的後處理過程中發揮作用。 想像一下您需要驗證所擷取的資訊的使用個案。 使用邏輯 NOT、AND、OR 運算符號,您可以建立複雜的驗證規則,以確保資料的正確性。
IronBarcode。
IronBarcode 增加了在 C# 應用程式中產生、讀取和辨識條碼的能力。 您可以使用邏輯運算符號根據特定的條件來決定要開發或讀取何種類型的 BarCode,或是根據特定的邏輯規則來驗證 BarCode 資料。
結論
邏輯運算符號是任何新進程式設計師的必備技能,本指南只是介紹 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 運算符號 (||) 至少在一個操作數為真的情況下才會返回真值。這些運算符有助於在 C# 中建構複雜的條件語句。
邏輯 NOT 運算子如何影響 C# 中的布林表達式?
邏輯 NOT 運算符號 (!) 會反轉布林表達式的值。如果條件為真,應用 NOT 運算符將使其為假,反之亦然。這對於反轉條件的結果非常有用。
在 C# 中,邏輯運算符號可以與複合轉換運算符號結合在一起嗎?
是的,邏輯運算符可與 C# 中的複合赋值運算符結合,以有效率地執行操作。複合轉換運算符如 +=、-= 等,可讓您執行算術運算,並在一個步驟中轉換結果。
運算子先例如何影響 C# 中表達式的評估?
運算符號的優先順序決定了在表達式中執行操作的順序。在 C# 中,乘法和除法先於加法和減法進行評估,邏輯運算符號也有自己的優先順序等級,這些都會影響複雜表達式的解析方式。
什麼是 XOR 運算符號,您何時會在 C# 中使用它?
C# 中的 XOR 運算符 (^),如果兩個操作數具有不同的布林值,則返回 true。它對於需要兩個條件中有一個為真的情況特別有用,例如切換狀態。
開發人員如何利用 Iron Suite 增強 C# 文件處理能力?
開發人員可以利用 Iron Suite 來增強 C# 文件處理能力,方法是利用 IronPdf 處理 PDF、IronXL 處理 Excel 檔案,以及 IronOCR 進行文字辨識。這些工具與邏輯運算符整合,可有效率地處理資料。







