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

Inne Kategorie

C# Switch Case

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 demonstracji, jak przechwytywać dane wejściowe użytkownika przy użyciu 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 przechowywania wartości uzyskanej z danych wejściowych użytkownika w zmiennej word. Oto analiza:

  • string word: Deklaruje zmienną o nazwie 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 wartość wpisaną przez użytkownika 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 lub równy (>=), mniejszy lub równy (<=), równość (==) i nierówność (!=).

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 sprawdzenia długości ciągu używając 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 warunkówe używa operatora mniejszy niż (<) aby sprawdzić, czy długość słowa jest krótsza 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życia instrukcji else if z połączonymi warunkami używając operatora większy lub równy (>=) 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 swojego wyboru używając Console.ReadLine() a następnie upewnia się, że wejście jest w małych literach używając metody ToLower() aby uniknąć problemów z czułością na wielkość liter podczas porównywania 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 różny od (!=) aby sprawdzić, czy wprowadzenie nie pasuje do "pies" i "kot." Łącząc te warunki z operatorem logicznym AND (&&), kod zapewnia, że oba warunki muszą być prawdziwe, aby stwierdzenie zostało spełnione. 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 dopasowania wzorca wprowadzonej w C# 7.0. Przypadek jest zdefiniowany z int length a następnie z klauzulą when, która określa dodatkowe warunki: długość musi być większa lub równa 6 i krótsza niż 11. Jeśli wzorce zostaną dopasowane, program wypisuje "To jest słowo o średniej długości!" a 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: Inicjalizuje zmienną string message i rozpoczyna wyrażenie switch oparte na word.Length.

  2. < 6 => "To jest krótkie słowo!": Jeśli word.Length jest krótsze niż 6, zwraca "To jest krótkie słowo!" używając operatora mniejszego niż <.

  3. < 11 and >= 6 => "To jest słowo o średniej długości!": Jeśli word.Length jest między 6 a 10 włącznie, zwraca "To jest słowo o średniej długości!" używając 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 zrozumieniuiuiuiuie 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 C# Switch Case
Hero Affiliate related to C# Switch Case

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