Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# switch-instructie

C# switch-instructie

In dit artikel leren we over switch-statements in C# en hoe je ze kunt gebruiken met voorbeelden.

Switch-instructie kan worden gebruikt om de if...els if-instructie in C# te vervangen. Het voordeel van het gebruik van switch over if... else if-statement is dat de codes er veel schoner en leesbaar uit zullen zien met switch.

De syntaxis van de switch-instructie is:

switch (variable/expression)
{
    case value1:
        // Statements executed if expression(or variable) = value1
        break;
    case value2:
        // Statements executed if expression(or variable) = value1
        break;
    ... ... ... 
    ... ... ... 
    default:
        // Statements executed if no case matches
}

De switch-instructie evalueert de uitdrukking (of variabele ) en vergelijk de waarde met de waarden (of uitdrukking) van elk geval (waarde1 , waarde2 , …). Wanneer het de overeenkomende waarde vindt, worden de instructies in dat geval uitgevoerd.

Maar als geen van de bovenstaande gevallen overeenkomt met de uitdrukking, worden de instructies binnen default blok wordt uitgevoerd. De standaardopdracht aan het einde van de schakeloptie is vergelijkbaar met het else-blok in de if else-opdracht.

Een probleem met de switch-instructie is echter dat wanneer de overeenkomende waarde wordt gevonden, deze alle instructies erna uitvoert tot het einde van het switch-blok.

Om dit te voorkomen, gebruiken we break verklaring aan het einde van elke casus. De break-instructie stopt het programma met het uitvoeren van niet-overeenkomende instructies door de uitvoering van de switch-instructie te beëindigen.

Ga voor meer informatie over break-statement naar C# break-statement .


Voorbeeld 1:C# switch-instructie

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
 
            switch(Char.ToLower(ch))
            {
                case 'a':
                    Console.WriteLine("Vowel");
                    break;
                case 'e':
                    Console.WriteLine("Vowel");
                    break;
                case 'i':
                    Console.WriteLine("Vowel");
                    break;
                case 'o':
                    Console.WriteLine("Vowel");
                    break;
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

Wanneer we het programma uitvoeren, is de uitvoer:

Enter an alphabet
X
Not a vowel

In dit voorbeeld wordt de gebruiker gevraagd een alfabet in te voeren. Het alfabet wordt geconverteerd naar kleine letters met behulp van ToLower() methode als het in hoofdletters is.

Vervolgens controleert de switch-instructie of het door de gebruiker ingevoerde alfabet een van a, e, i, o or u . is .

Als een van de gevallen overeenkomt, Vowel wordt afgedrukt, anders gaat de besturing naar het standaardblok en Not a vowel wordt afgedrukt als uitvoer.

Aangezien de uitvoer voor alle klinkers hetzelfde is, kunnen we de naamvallen als volgt samenvoegen:


Voorbeeld 2:C# switch-instructie met gegroepeerde gevallen

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
 
            switch(Char.ToLower(ch))
            {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

De output van beide programma's is hetzelfde. In het bovenstaande programma printen alle klinkers de output Vowel en breekt uit de switch-instructie.

Hoewel de switch-instructie de code er schoner uit laat zien dan de if...els if-instructie, is switch beperkt tot het werken met beperkte gegevenstypen. Switch-instructie in C# werkt alleen met:

  • Primitieve gegevenstypen:bool, char en integraaltype
  • Opsomde typen (Enum)
  • Stringklasse
  • Nullable-typen van bovenstaande gegevenstypen

Voorbeeld 3:Eenvoudig rekenprogramma met C# switch Statement

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char op;
            double first, second, result;
             
            Console.Write("Enter first number: ");
            first = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter second number: ");
            second = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter operator (+, -, *, /): ");
            op = (char)Console.Read();
 
            switch(op)
            {
                case '+':
                    result = first + second;
                    Console.WriteLine("{0} + {1} = {2}", first, second, result);
                    break;
                 
                case '-':
                    result = first - second;
                    Console.WriteLine("{0} - {1} = {2}", first, second, result);
                    break;
                 
                case '*':
                    result = first * second;
                    Console.WriteLine("{0} * {1} = {2}", first, second, result);
                    break;
                 
                case '/':
                    result = first / second;
                    Console.WriteLine("{0} / {1} = {2}", first, second, result);
                    break;
 
                default:
                    Console.WriteLine("Invalid Operator");
                    break;
                     
            }
        }
    }
}

Wanneer we het programma uitvoeren, is de uitvoer:

Enter first number: -13.11
Enter second number: 2.41
Enter operator (+, -, *, /): *
-13.11 * 2.41 = -31.5951

Het bovenstaande programma heeft twee operanden en een operator als invoer van de gebruiker en voert de bewerking uit op basis van de operator.

De invoer wordt van de gebruiker overgenomen met behulp van de ReadLine() en Read() methode. Ga voor meer informatie naar C# Basic Input en Output.

Het programma gebruikt switch case-statements voor het nemen van beslissingen. Als alternatief kunnen we de if-elst if ladder gebruiken om dezelfde bewerking uit te voeren.


C Taal

  1. Circuit met een schakelaar
  2. Commuterende diode
  3. Schakeltypes
  4. Contact opnemen met "Bounce"
  5. Multimeters
  6. C# break-instructie
  7. C# doorgaan Verklaring
  8. C++ break-instructie
  9. Python pass-instructie
  10. C++ Switch Case Statement met VOORBEELD
  11. C - Basissyntaxis