
Operatory logiczne w języku C# (jak działają dla programistów)
Zrozumienie operatorów logicznych jest niezbędne przy pracy z instrukcjami warunkowymi w programowaniu. Od XOR do operacji arytmetycznych, odgrywają one kluczową rolę w ustalaniu wartości logicznej danych warunków.
Ten przewodnik przeprowadzi Cię przez podstawy operatorów logicznych w języku C#, w tym takie pojęcia jak wartości logiczne, kolejność operatorów, negacja logiczna i wiele innych.
Czym są operatory logiczne?
Operatory logiczne, powszechnie znane jako operacje logiczne, tworzą rdzeń podejmowania decyzji w programowaniu. Działają na wyrażeniach boolowskich, oceniając je, aby wyprodukować wartość logiczną prawdy lub fałszu, w zależności od podanych warunków. Te operatory odgrywają kluczową rolę w kontrolowaniu przepływu programu, pozwalając na uruchamianie określonych bloków kodu na podstawie pewnych kryteriów.
Poniżej zagłębimy się w różne operatory logiczne w C#, zrozumienie ich funkcji oraz przedstawienie sposobu, w jaki można włączyć operatory logiczne do swoich aplikacji, aby wykonywać operacje logiczne z precyzją i wydajnością.
Types of Logical Operators in C#
Operator logiczny AND (&&)
Operator logiczny AND (&&) łączy dwa wyrażenia boolowskie i zwraca prawdę, jeśli obydwa są prawdziwe. Jeśli któreś z nich lub oba są fałszywe, wynik jest fałszywy. Powszechnie używany w scenariuszach wielokondycyjnych, gdzie wszystkie warunki muszą być spełnione. Na przykład, sprawdzając, czy użytkownik jest wystarczająco stary i ma wystarczający stan konta, aby dokonać zakupu.
&& operator:
- Ocena lewego operandu
- Jeśli lewy operand jest fałszywy, całe wyrażenie jest fałszywe
- Jeśli lewy operand jest prawdziwy, oceniany jest prawy operand
- Wyrażenie jest prawdziwe, jeśli oba operandy są prawdziwe
Jeśli lewy operand jest fałszywy, prawy operand nie jest oceniany, ponieważ całe wyrażenie jest z góry fałszywe.
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
}
}Module Program
Sub Main(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 ModuleW tym przykładzie, chociaż isAdult jest prawdą, hasBalance jest fałszywe, więc wynik to fałsz.
Operator logiczny OR (||)
Operator logiczny OR (||) łączy dwa wyrażenia boolowskie i zwraca prawdę, jeśli co najmniej jedno z nich jest prawdziwe. Jeśli oba są fałszywe, wynik jest fałszywy. Idealne do scenariuszy, w których co najmniej jeden z kilku warunków musi być prawdziwy. Na przykład, pozwalając na wstęp, jeśli osoba jest członkiem lub ma bilet.
|| operator:
- Ocena lewego operandu
- Jeśli lewy operand jest prawdziwy, całe wyrażenie jest prawdziwe
- Jeśli lewy operand jest fałszywy, oceniany jest prawy operand
- Wyrażenie jest prawdziwe, jeśli którykolwiek z operandów jest prawdziwy
Jeśli lewy operand jest prawdziwy, prawy operand nie jest oceniany, ponieważ całe wyrażenie jest z góry prawdziwe.
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
}
}Module Program
Sub Main(args As String())
Dim isMember As Boolean = True
Dim hasTicket As Boolean = False
Dim canEnter As Boolean = isMember Or hasTicket
' Output the result to the console; expected output is true
Console.WriteLine(canEnter) ' Output: true
End Sub
End ModuleTutaj, ponieważ isMember jest prawdą, hasTicket nie jest nawet oceniane, a wynik to prawda.
Operator logiczny NOT (!)
Operator logiczny NOT (!) odwraca wartość wyrażenia boolowskiego. Jeśli operand jest prawdziwy, wynik jest fałszywy, i odwrotnie. Powszechnie używany do odwrotności warunku. Na przykład, jeśli funkcja jest włączona, można użyć operatora NOT, aby ustalić, czy powinna być wyłączona.
Oto jak to działa:
- Ocena operandu.
- Jeśli operand jest prawdziwy, wynik jest fałszywy.
- Jeśli operand jest fałszywy, wynik jest prawdziwy.
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
}
}Module Program
Sub Main(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 ModuleTutaj, ponieważ isLoggedOn jest fałszywe, operator logiczny NOT zwraca prawdę.
Łączenie z innymi operatorami
Operator NOT może być używany wraz z operatorami AND i OR do tworzenia bardziej skomplikowanych warunków.
bool 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: falseOperator logiczny XOR (^)
Operator logiczny XOR (^) zwraca prawdę wtedy, gdy dwa operandy mają różne wartości. Jeśli oba są takie same, zwraca fałsz. Ten operator jest szczególnie przydatny, gdy chcesz upewnić się, że dokładnie jeden z dwóch warunków jest prawdziwy, ale nie oba.
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
}
}Module Program
Sub Main(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 ModulePonieważ wartości hasPassword i hasSmartCard są różne, logiczne XOR zwraca prawdę. Gdyby oba były prawdziwe lub oba były fałszywe, zwróciłby fałsz.
Inne powiązane operatory
Operator przypisania złożonego
Operator przypisania złożonego łączy arytmetykę z przypisaniem. Są to skróty do wykonywania operacji i przypisywania wyniku do zmiennej. Oto niektóre typy operatorów przypisania złożonego:
+=: Dodaj i przypisz-=: Odejmij i przypisz*=: Pomnóż i przypisz/=: Podziel i przypisz%=: Modulo i przypisz&=: Bitowy AND i przypisz|=: Bitowy OR i przypisz^=: Bitowy XOR i przypisz
A oto, jak działają w praktyce:
int 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 8Operatory arytmetyczne
Operatory arytmetyczne wykonują standardowe operacje matematyczne. Obejmują one:
+: Dodawanie-: Odejmowanie*: Mnożenie/: Dzielenie%: Modulo (reszta z dzielenia)
Kolejność operatorów
Kolejność operatorów definiuje kolejność, w jakiej operacje są wykonywane w wyrażeniu. Na przykład, mnożenie i dzielenie są wykonywane przed dodawaniem i odejmowaniem.
Oto kolejność priorytetu operatorów w C#:
- Operator logiczny NOT (!)
- Operator mnożenia (*, /, %)
- Operator dodawania i odejmowania (+, -)
- Operator relacyjny i testu typu (<, >, <=, >=, is, as)
- Operator równości (==, !=)
- Operator logiczny AND (&&)
- Operator logiczny OR (||)
Operatory bitowe
Oprócz operatorów logicznych, które działają na wartościach boolowskich, niektóre operatory logiczne bitowe działają na binarnej reprezentacji liczb całkowitych. Rodzaje operatorów logicznych bitowych to:
&: Bitowy AND|: Bitowy OR^: Bitowy XOR~: Bitowy NOT<<: Przesunięcie w lewo>>: Przesunięcie w prawo
Te operatory bitowe umożliwiają manipulację pojedynczymi bitami w wartości liczby całkowitej.
Iron Suite: A Powerful Toolkit for C#
Iron Suite for C# Development to zbiór bibliotek zaprojektowany z myślą o rozszerzeniu funkcjonalności programowania w C#. To znakomity zestaw narzędzi może pomóc deweloperom w szerokim zakresie zadań, takich jak przetwarzanie dokumentów, obsługa danych i rozpoznawanie tekstu. Przyjrzyjmy się, jak każdy produkt korzysta z operatorów logicznych.
IronPDF
IronPDF umożliwia deweloperom tworzenie, czytanie, edytowanie i konwertowanie dokumentów PDF w ramach aplikacji C#. Rozważmy scenariusz, w którym należy przefiltrować i wydobyć określone informacje z PDF na podstawie pewnych warunków. Operatory logiczne można użyć do zdefiniowania tych warunków, umożliwiając programowi podejmowanie inteligentnych decyzji na temat tego, jakie dane wydobywać lub manipulować.
Odkryj, jak IronPDF ułatwia obsługę dokumentów PDF.
IronXL
IronXL upraszcza pracę z plikami Microsoft Excel, umożliwiając odczyt, zapis i manipulację arkuszami kalkulacyjnymi bezpośrednio w C#. Możesz wykorzystać operatory logiczne do tworzenia dynamicznych warunków podczas przetwarzania danych. Na przykład, używając operatora logicznego AND do filtrowania rekordów spełniających wiele kryteriów lub operatora logicznego OR do wybierania wierszy spełniających kilka warunków.
Dowiedz się, jak pracować z Excel przy użyciu IronXL.
IronOCR
IronOCR to potężne narzędzie, które umożliwia aplikacji C# rozpoznawanie i odczytywanie tekstu z obrazów. Operatory logiczne mogą odegrać rolę w post-processingu wyodrębnionego tekstu. Wyobraź sobie przypadek użycia, w którym musisz zweryfikować wyodrębnione informacje. Używając operatorów logicznych NOT, AND, OR, możesz tworzyć złożone zasady weryfikacji, aby zapewnić dokładność danych.
Zobacz, jak IronOCR umożliwia rozpoznawanie znaków optycznych.
IronBarcode
IronBarcode dodaje możliwość generowania, odczytywania i rozpoznawania kodów kreskowych w ramach aplikacji C#. Operatory logiczne mogą być używane do określenia, jaki typ kodu kreskowego rozwijać lub odczytywać na podstawie określonych warunków lub do weryfikacji danych kodu kreskowego zgodnie z pewnymi zasadami logicznymi.
Dowiedz się, jak IronBarcode zarządza operacjami kodu kreskowego.
Wnioski
Operatory logiczne są niezbędną umiejętnością dla każdego początkującego programisty, a ten przewodnik to tylko wstęp do tego, co mogą zdziałać operatory C#. Dzięki Iron Suite for C# Development możesz zobaczyć praktyczne przykłady użycia operatorów logicznych w rzeczywistych aplikacjach.
Jeśli chcesz poćwiczyć swoje umiejętności C#, każdy produkt w Iron Suite jest całkowicie darmowy do użycia w środowisku deweloperskim. Niezależnie od tego, czy dopiero zaczynasz, czy już jesteś profesjonalistą w C#, te narzędzia mogą pomóc wynieść twoje kodowanie na wyższy poziom.

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.
Powiązane artykuły


