Przejdź do treści stopki
Iron Academy Logo
Naucz się C#
Naucz się C#

Inne Kategorie

Instrukcja Switch Case C#

Layla Porter
20m 21s

Instrukcja switch w C# to potężny mechanizm sterowania przepływem, który pozwala programistom wykonywać jeden blok kodu spośród wielu na podstawie wartości wyrażenia. Jest szczególnie przydatna w sytuacjach, gdy należy sprawdzić wiele warunków względem jednej zmiennej. Operatory mogą być używane w ramach przypadków switch do wykonywania różnych działań na wyrażeniach dopasowania, takich jak porównania i sprawdzanie logiczne.

Layla Porter, w swoim filmie "C# for Beginners part 4 - Operators and Switches", zagłębia się w podstawowe koncepcje programowania w C#, skupiając się na operatorach i instrukcjach switch case. Ten artykuł, zainspirowany jej filmem, rozłoży jej wyjaśnienia i dostarczy fragmenty kodu z jej filmu, aby zrozumieć przypadki switch i operatory.

Wprowadzenie do operatorów

Operatory w C# są kluczowe do manipulowania danymi, porównywania wartości i podejmowania decyzji na podstawie wartości przypadków i porównań. Layla zaczyna od wyjaśnienia różnych typów operatorów: arytmetyczne, porównawcze i logiczne.

Wprowadzanie danych przez użytkownika przy użyciu Console.ReadLine

Layla zaczyna od pokazania, jak pobrać dane wejściowe od użytkownika za pomocą Console.ReadLine(). Ta metoda odczytuje linię danych wejściowych z konsoli, co jest niezbędne w interaktywnych aplikacjach C#.

Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();
Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();

Operator przypisania

W powyższym fragmencie kodu Layla używa operatora przypisania (=) do zapisania wartości uzyskanej z danych wejściowych od użytkownika do zmiennej word. Oto analiza:

  • string word: Deklaruje zmienną nazwaną word typu string.

  • word = Console.ReadLine(): Używa operatora przypisania (=) do przypisania wartości wprowadzonej przez użytkownika (uzyskanej z Console.ReadLine()) do zmiennej word.

W tym kontekście, operator przypisania jest używany do ustawienia wartości zmiennej word na to, co użytkownik wpisze w konsoli. Operator przypisania jest fundamentalny w programowaniu, ponieważ jest używany do przechowywania wartości w zmiennych, co pozwala na użycie i manipulację tymi wartościami podczas wykonywania programu.

Operatory arytmetyczne

Operatory arytmetyczne w C# wykonują podstawowe operacje matematyczne takie jak dodawanie, odejmowanie, mnożenie, dzielenie i reszta. Te operatory są proste i niezbędne w każdym języku programowania. Layla nie omawia ich w swoim filmie, ponieważ są to proste operacje matematyczne, które zwracają te same wartości, co w rzeczywistych problemach matematycznych.

Operatory porównania

Operatory porównania w C# pozwalają nam porównywać wartości i podejmować decyzje na podstawie tych porównań. Layla wprowadza operatory większy niż (>), mniejszy niż (<), większy bądź równy (>=), mniejszy bądź równy (<=), równości (==) i nierówności (!=).

Używanie operatorów porównania w instrukcjach logiki warunkówej

W swoim filmie, Layla Porter zagłębia się w używanie logiki warunkówej w C# do określenia długości słowa podanego przez użytkownika. Ona, o 2:10, zaczyna od pokazania podstawowej struktury instrukcji if do sprawdzania długości ciągu znaków przy użyciu właściwości Length typu string. Ta właściwość zwraca liczbę znaków w ciągu znaków.

if (word.Length < 6)
{
    Console.WriteLine("That's a short word.");
}
if (word.Length < 6)
{
    Console.WriteLine("That's a short word.");
}

Pierwsze sprawdzenie warunkowe używa operatora mniejszości (<), aby sprawdzić, czy długość słowa jest mniejsza niż sześć znaków. Jeśli warunek jest prawdziwy, program wypisuje, "To jest krótkie słowo." Ta część kodu pomaga skutecznie kategoryzować krótsze słowa.

Następnie, o 4:00, Layla Porter wprowadza koncepcję używania instrukcji else if z połączonymi warunkami za pomocą operatora większości bądź równości (>=) i operatora logicznego AND (&&). Połączony warunek sprawdza, czy długość słowa wynosi co najmniej sześć, ale jest krótsza niż jedenaście znaków. Jeśli oba warunki są spełnione, program wypisuje, "To jest słowo o średniej długości." Pokazuje to, jak można łączyć wiele warunków, aby podejmować bardziej precyzyjne decyzje na podstawie długości słowa.

else if (word.Length >= 6 && word.Length < 11)
{
    Console.WriteLine("That's a medium length word.");
}
else if (word.Length >= 6 && word.Length < 11)
{
    Console.WriteLine("That's a medium length word.");
}

Na koniec, Layla, o 4:40, wyjaśnia użycie instrukcji else do obsługi wszystkich innych przypadków, które nie spełniają poprzednich warunków. Ta część kodu wypisuje, "To jest długie słowo." dla słów, które mają jedenaście znaków lub więcej. Użycie instrukcji else zapewnia, że każde wejście, które nie zostało przechwycone przez wcześniejsze warunki jest odpowiednio obsługiwane.

else
{
    Console.WriteLine("That's a long word.");
}
else
{
    Console.WriteLine("That's a long word.");
}

Teraz, Layla uruchamia program (5:15) i wprowadza kilka słów do kategoryzacji używając powyższych instrukcji warunkówych i operatorów porównania:

Csharp Switch Case 1 related to Używanie operatorów porównania w instrukcjach logiki warunkówej

Operatory logiczne

Operatory logiczne &&, ||, ! pozwalają na łączenie wielu warunków w C#, aby stworzyć bardziej złożoną logikę podejmowania decyzji. Layla o 6:24, wyjaśnia, jak te operatory działają razem, aby tworzyć instrukcje warunkówe.

W swoim filmie, Layla Porter wprowadza mini-grę, w której użytkownik jest proszony o wskazanie słowa, które róźni się od innych z listy zwierząt: "pies," "kot," i "złota rybka." Złota rybka jest uznana za różniącą się, ponieważ żyje w wodzie i nie jest ssakiem. Layla (6:55) zaczyna od poproszenia użytkownika o wprowadzenie ich wyboru za pomocą Console.ReadLine(), a następnie zapewnia, że dane wejściowe są w małych literach przy użyciu metody ToLower(), aby uniknąć problemów z rozróżnianiem wielkości liter przy porównywaniu ciągów znaków:

Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();
Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();

Layla, o 7:32, wyjaśnia użycie operatorów porównania do sprawdzenia odpowiedzi użytkownika z systemem i zdefiniowaną listą zwierząt.

if (oddOne != "dog" && oddOne != "cat")
{
    Console.WriteLine("You chose the odd one out!");
}
if (oddOne != "dog" && oddOne != "cat")
{
    Console.WriteLine("You chose the odd one out!");
}

Kod używa operatora nierówności (!=) do sprawdzenia, czy dane wejściowe nie odpowiadają "dog" i "cat." Łącząc te warunki z operatorem logicznym AND (&&), kod zapewnia, że oba warunki muszą być spełnione, aby stwierdzenie było prawdziwe. Jeśli wprowadzenie nie jest ani "pies" ani "kot," to musi być "złota rybka," a program wypisuje, "Wybrałeś prawidłowe!"

else
{
    Console.WriteLine("Better luck next time!");
}
else
{
    Console.WriteLine("Better luck next time!");
}

Jeśli wprowadzenie użytkownika nie spełnia tego warunku, oznacza to, że wprowadzenie to albo "pies" albo "kot," wówczas blok else jest wykonywany, a program wypisuje, "Nie poszczęściło się tym razem!"

Csharp Switch Case 2 related to Operatory logiczne

Layla (8:30) dalej rozwija znaczenie rozumienia działania operatorów logicznych w instrukcjach warunkówych. Operator AND (&&) wymaga, aby oba warunki były prawdziwe, podczas gdy operator OR (||) wymaga, aby tylko jeden warunek był prawdziwy. Ona (9:05) demonstruje, jak użycie tych operatorów może zmienić zachowanie programu, podkreślając subtelności i potencjalne pułapki przy używaniu operatorów logicznych w C#. To wyjaśnienie pomaga widzom zrozumieć, jak efektywnie korzystać z logiki warunkówej w swoich programach.

Wprowadzenie do instrukcji Switch Case w C

Instrukcje switch oferują alternatywny sposób realizacji podejmowania decyzji wielouruchomieniowych w C#, często bardziej czytelny i efektywny niż wiele instrukcji if-else. W C# 'case c' jest używane do określania warunków w ramach instrukcji switch, zapewniając, że porównanie działa na wartościach tego samego typu.

W jej filmie (12:38), Layla Porter przechodzi od używania instrukcji if-else do instrukcji switch, aby określić kategorię długości danego słowa. Wyjaśnia, że użycie instrukcji switch może uczynić kod czytelniejszym i bardziej efektywnym.

Fragment kodu wygląda następująco:

switch (word.Length)
{
    case < 6:
        Console.WriteLine("That's a short word!");
        break;
    case int length when 6 <= length && length < 11:
        Console.WriteLine("That's a medium length word!");
        break;
    default:
        Console.WriteLine("That's a long word!");
        break;
}
switch (word.Length)
{
    case < 6:
        Console.WriteLine("That's a short word!");
        break;
    case int length when 6 <= length && length < 11:
        Console.WriteLine("That's a medium length word!");
        break;
    default:
        Console.WriteLine("That's a long word!");
        break;
}

Layla wyjaśnia, że instrukcja switch składa się z wielu przypadków, z których każdy reprezentuje możliwą wartość lub zakres wartości dla zmiennej, która jest oceniana. W tym przypadku, zmienna to word.Length.

  1. Case < 6: Pierwszy przypadek sprawdza, czy długość słowa jest krótsza niż 6. Jeśli ten warunek jest spełniony, program wypisuje "To jest krótkie słowo!" a następnie używa instrukcji break, aby wyjść z bloku switch. Pamiętaj, że przypadek może mieć wiele instrukcji.

  2. Case int length when 6 <= length && length < 11: Drugi przypadek jest bardziej złożony. Używa funkcji dopasowywania wzorców wprowadzonej w C# 7.0. Przypadek jest zdefiniowany z int length, po którym następuje klauzula when, która określa dodatkowe warunki: długość musi być większa bądź równa 6 i mniejsza niż 11. Jeśli wzorce się zgadzają, program wypisuje "That's a medium length word!" i następnie wychodzi z bloku switch.

  3. Default: Jeśli żaden z poprzednich przypadków nie zostanie spełniony, zostaje wykonany przypadek domyślny. Działa to jak instrukcja else w strukturze if-else. W tym przypadku program wypisuje "To jest długie słowo!" a następnie wychodzi z bloku switch.

Layla (15:45) podkreśla, że użycie instrukcji switch zamiast instrukcji if może być korzystne, ponieważ sprawia, że kod staje się bardziej czytelny i łatwiejszy do zarządzania, zwłaszcza podczas pracy z wieloma warunkami. Dodatkowo, wspomina, że instrukcje switch mogą być bardziej wydajne, ponieważ kompilator C# optymalizuje je w inny sposób, czyniąc je szybszymi do wykonania.

Switch Expressions (Dopasowanie wzorca)

Wyrażenia switch to nowsza funkcja w C#, która zapewnia bardziej zwięzłą składnię dla prostych decyzji opartych na wartościach. W filmie Layli Porter około 16:25, wprowadza nowoczesną instrukcję switch nazwaną "wyrażenie switch" lub "dopasowanie wzorca switch" w C#. Ten typ instrukcji switch zwraca wartość bezpośrednio, czyniąc kod bardziej zwięzłym i czytelnym.

Ona (około 17:00) zaczyna od pokazania, jak przepisanie instrukcji if-else z użyciem składni wyrażenia switch. Zamiast wykonywać działania, wyrażenie switch przypisuje wartość do zmiennej na podstawie warunków. Na przykład, ten przykład:

// Example of Switch Expression
string message = word.Length switch
{
    < 6 => "That's a short word!",
    < 11 and >= 6 => "That's a medium length word!",
    _ => "That's a long length word!"
};

Console.WriteLine(message);
// Example of Switch Expression
string message = word.Length switch
{
    < 6 => "That's a short word!",
    < 11 and >= 6 => "That's a medium length word!",
    _ => "That's a long length word!"
};

Console.WriteLine(message);

Oto, co Layla (17:31) wyjaśnia o powyższym kodzie:

  1. String message = word.Length switch: Inicjuje zmienną typu string message i rozpoczyna wyrażenie switch oparte na word.Length.

  2. < 6 => "That's a short word!": Jeśli word.Length jest mniejsze niż 6, zwraca "That's a short word!" używając operatora mniejszości <.

  3. < 11 and >= 6 => "That's a medium length word!": Jeśli word.Length jest pomiędzy 6 a 10 włącznie, zwraca "That's a medium length word!" korzystając z and dla czytelności.

  4. _ => "To jest długie słowo!": Podkreślenie służy jako przypadek domyślny, zwraca "To jest długie słowo!" jeśli żadne z poprzednich warunków nie są spełnione.

Layla podkreśla, że ta składnia jest częścią nowoczesnych funkcji C# zaprojektowanych dla poprawy czytelności i wydajności. Wyrażenie switch jest preferowane nad tradycyjnymi instrukcjami if-else do obsługi wielu warunków zwięźle.

Ona uruchamia kod w 19:30, a wynik jest taki sam jak dla instrukcji if-else:

Csharp Switch Case 3 related to Switch Expressions (Dopasowanie wzorca)

Wnioski

Film Layli Porter video zapewnia solidne podstawy dla początkujących w programowaniu C#, obejmując kluczowe koncepcje takie jak operatory, instrukcje warunkówe i instrukcje switch. Śledząc jej wyjaśnienia i przykłady, początkujący mogą zdobyć praktyczne wskazówki dotyczące manipulacji danych i kontrolowania przepływu programu efektywnie w C#.

Poprzez zrozumienie tych podstawowych pojęć i praktykę z dostarczonymi przykładami, nowicjusze w C# mogą zbudować solidną podstawę dla bardziej złożonych zadań programistycznych. Sprawdź więcej filmów o C# na jej kanale YouTube.

Hero Worlddot related to Instrukcja Switch Case C#
Hero Affiliate related to Instrukcja Switch Case C#

Zarabiaj więcej, dzieląc się tym, co kochasz

Tworzysz treści dla deweloperów pracujących z .NET, C#, Java, Python, czy Node.js? Zamień swoją wiedzę specjalistyczną na dodatkowy dochód!

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie