Dzielimy się z Wami bezpłatnie wiedzą programistyczną.
Jeżeli doceniacie naszą pracę możecie nas wesprzeć dobrowolną wpłatą:
Operacje porównania C#
Operacje porównania C# – Porównywanie wartości podczas programowania pozwala na sprawdzanie zależności pomiędzy zmiennymi. Wynikiem sprawdzenia jest zawsze wartość true lub false.
Spis treści
Język C# udostępnia wymienione poniżej operatory porównania:
Operator | Znaczenie |
---|---|
> | Sprawdza czy pierwsza wartość jest większa od drugiej. |
< | Sprawdza czy pierwsza wartość jest mniejsza od drugiej. |
>= | Sprawdza czy pierwsza wartość jest większa lub równa od drugiej. |
<= | Sprawdza czy pierwsza wartość jest mniejsza lub równa od drugiej. |
== | Sprawdza czy pierwsza wartość jest równa drugiej. |
!= | Sprawdza czy pierwsza wartość jest różna od drugiej. |
Przykłady wykorzystania
// porównanie dwóch wartości i przypisanie wyniku do zmiennej typu bool
bool sprawdz = 18 >= 7;
// wykorzystanie wyniku porównania w instrukcji warunkowej. Otrzymana wartość
// to true, więc kod się wykona
if(sprawdz)
Console.WriteLine("Tak, 18 jest większe od 7");
// Wyświetli wartość false, ponieważ 45 i 12 nie są równe
Console.WriteLine(45 != 12 );
Console.WriteLine(45 == 40 + 5 ); // Wyświetli wartość true, ponieważ operatory
// porównania wykonywane są po operacjach arytmetycznych - najpierw wykona
// dodawanie, a później porównanie.
// Wyświetli wartość false, ponieważ 15 nie jest mniejsze od samej siebie
Console.WriteLine(15 < 15 );
Możliwy błąd
Ze względu na różnorodność języków osoby rozpoczynające programowanie w C/C++/C# mają czasem problem ze sprawdzaniem czy dwie wartości są sobie równe. Do takiego sprawdzenia konieczne jest zastosowanie operatora „==”. Zastosowanie w tym przypadku operatora „=” będzie skutkował niepoprawnym działaniem programu lub błędem. W języku C/C++ dla różnych typów, a dla C# tylko dla bool, wartość zamiast porównać, zostałaby wpisana do zmiennej. Przykład poniżej dokładniej przybliży problem.
// Poniżej błędny przykład
bool sprawdz = true;// zmienna typu bool z wartością true
if(sprawdz = false)// nie dochodzi do porównania, wartość zmiennej jest ustawiana
// na false i dopiera ta wartość jest sprawdzana przez instrukcję warunkową if
{
// ten kod się nie wykona
}
// Poniżej drugi, także błędny przykład
bool sprawdz = true;//zmienna typu bool z wartością true
if(sprawdz = true)// nie dochodzi do porównania, wartość zmiennej jest ustawiana
// na true i dopiera ta wartość jest sprawdzana przez instrukcję warunkową if
{
// ten kod się wykona
}
// Poniżej poprawny przykład
bool sprawdz = false; //zmienna typu bool z wartością false
if(sprawdz == false) // Wartość zmiennej "sprawdz" jest porównywana z "false".
// Wartości są równe, więc instrukcja warunkowa if otrzymuje wartość "true"
// i przechodzi do wykonania kodu
{
// ten kod się wykona
}