Ćwiczenie — implementowanie operatora warunkowego
- {liczbaMinut} minut
Załóżmy, że musisz szybko określić, czy zakup klienta kwalifikuje się do rabatu promocyjnego. Szczegóły promocji wskazują, że gdy wartość zakupu jest większa niż 1000 euro, zakup kwalifikuje się do rabatu w wysokości 100 euro. Jeśli kwota zakupu wynosi 1000 euro lub mniej, zakup kwalifikuje się do rabatu w wysokości 50 euro.
Chociaż z pewnością można użyć if ... elseif ... else konstrukcji rozgałęziania, aby wyrazić tę regułę biznesową, użycie operatora warunkowego do oceny uprawnień do rabatu promocyjnego może być lepszym wyborem. Operator warunkowy ma zwięzły format, który pozwala zaoszczędzić kilka wierszy kodu i może ułatwić zrozumienie znaczenia kodu.
Co to jest operator warunkowy?
Operator ?: warunkowy oblicza wyrażenie logiczne i zwraca jedną z dwóch wyników w zależności od tego, czy wyrażenie warunkowe daje w wyniku wartość true, czy false.
Operator warunkowy jest często określany jako trójargumentowy operator warunkowy.
Oto podstawowa forma:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
Pośmiń chwilę, aby zastanowić się, jak zastosować operator warunkowy do scenariusza rabatu promocyjnego. Twoim celem jest wyświetlenie klientowi komunikatu z informacją o wartości procentowej rabatu. Kwota ich rabatu będzie zależeć od tego, czy wydali ponad 1000 euro na zakup.
Dodawanie kodu używającego operatora warunkowego
Upewnij się, że masz pusty plik Program.cs otwarty w programie Visual Studio Code. W razie potrzeby otwórz program Visual Studio Code, a następnie wykonaj następujące kroki, aby przygotować plik Program.cs w edytorze:
- W menu Plik wybierz pozycję Otwórz folder.
- Użyj okna dialogowego Otwórz folder, aby przejść do folderu CsharpProjects , a następnie go otworzyć.
- W panelu Eksplorator programu Visual Studio Code wybierz pozycję Program.cs.
- W menu Wybór programu Visual Studio Code wybierz pozycję Wybierz wszystko, a następnie naciśnij Delete.
Wpisz następujący kod w edytorze programu Visual Studio Code.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
Przed utworzeniem lub uruchomieniem kodu należy zapisać plik Program.cs.
W panelu EKSPLORATOR, aby otworzyć terminal w lokalizacji folderu TestProject, kliknij prawym przyciskiem myszy pozycję TestProject, a następnie wybierz polecenie Otwórz w zintegrowanym terminalu.
Panel terminalu z wyświetlonym wierszem polecenia powinien być teraz otwarty. Wiersz polecenia powinien wyświetlić ścieżkę folderu dla lokalizacji folderu TestProject.
W wierszu polecenia terminalu, aby uruchomić kod, wpisz dotnet run , a następnie naciśnij Enter.
Po uruchomieniu kodu powinny zostać wyświetlone następujące dane wyjściowe:
Discount: 100
Używanie operatora warunkowego w tekście
Ten kod można jeszcze bardziej skompaktować, eliminując zmienną discounttymczasową .
Zaktualizuj kod w edytorze programu Visual Studio Code w następujący sposób:
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");W menu Plik programu Visual Studio Code wybierz pozycję Zapisz.
W wierszu polecenia terminalu, aby uruchomić kod, wpisz dotnet run , a następnie naciśnij Enter.
Zwróć uwagę, że dane wyjściowe są takie same.
Pośmiń minutę na sprawdzenie zaktualizowanej
Console.WriteLine()instrukcji.Zwróć uwagę, że konieczne jest opakowywanie całej instrukcji operatora warunkowego w nawiasach. Nawiasy zapewniają, że środowisko uruchomieniowe rozumie twoją intencję, czyli wyświetla wynik warunkowy, a nie wynik oceny warunku (saleAmount > 1000).
Uwaga
Chociaż ten konkretny przykład jest kompaktowy i pokazuje, co jest możliwe, jest nieco trudniejsze do odczytania. Nie zawsze dobrym pomysłem jest połączenie wierszy kodu, zwłaszcza gdy negatywnie wpływa na ogólną czytelność kodu. Jest to często subiektywna ocena.
Podsumowanie
Należy pamiętać następujące fakty dotyczące operatora warunkowego:
- Możesz użyć operatora warunkowego, aby zmniejszyć rozmiar kodu, ale upewnij się, że wynikowy kod jest łatwo czytelny.
- Operator warunkowy można użyć, gdy musisz zwrócić wartość opartą na warunku binarnym. Kod zwróci pierwszą opcję, gdy warunek zwróci wartość true i zwróci drugą opcję, gdy warunek zwróci wartość false.