C# SWITCH


W tej lekcji poznasz wyrażenie kontrolne switch, jest nam ono wtedy pomocne, gdy wiemy jakie wartości może przyjąć zmienna, zamiast używać kilku instrukcji if(zmienna == wartość) stosujemy instrukcję switch co jest wyjątkowo wydaje, bo pozwala nam jeszcze, na zadeklarowanie przypadku w którym zmienna posiadała by nie przewidywalną wartość, czyli default. Ogólna deklaracja switch wygląda następująco:

switch(zmienna) {

case wartość1 :

instrukcje;

break; lub instrukcja skoku;

case wartość2 :

instrukcje;

break; lub instrukcja skoku;

default:

instrukcje;

break; lub instrukcja skoku;

}

Działanie instrukcji switch prześledź na poniższym przykładzie:

Początek kodu:
using System ;


class Pokaz
{
public static void Main()
{
int wartosc = 10 ;


switch(wartosc)
{
case 1 :
Console.WriteLine(„To się nie wyświetli”);
break ;
case 2 :
Console.WriteLine(„To również się nie wyświetli”);
break ;
case 10 :
Console.WriteLine(„Tak jest zmienna wartosc jest równa 10″);
break ;
default :
Console.WriteLine(„Nie uwzględniono przypadku”);
break ;
}
}

}

Koniec kodu:

Przebieg wykonywania programu w instrukcji switch jest mniej więcej następujący: program sprawdza do którego przypadku case pasuje wartość zmiennej „wartość” w tym wypadku pasuje do case 10 a więc wykonuje od części case 10 : program aż do napotkania break; lub instrukcji skoku, instrukcja skoku może wyglądać tak goto case 1 ; wtedy program przeniesie wykonywanie do przypadku case 1 : a tam analogicznie będzie wykonywać instrukcje aż do napotkania break lub jakiejś instrukcji skoku. Jeżeli program wykonując się w instrukcji switch nie napotka break lub instrukcji skoku to przeniesie wykonywanie na przypadek znajdujący się poniżej. Prześledź to na poniższym przykładnie w którym to program sprawdza czy dana litera to samogłoska czy spółgłoska.

Początek kodu:
using System ;


class Pokaz
{
public static void Main()
{
char litera = ‘i’ ;


switch(litera)
{
case ‘i’ :
case ‘e’ :
case ‘a’ :
case ‘o’  :
case ‘u’  :
case ‘y’  :
Console.WriteLine(„Litera ” + litera + ” jest samogłoską”);
break ;
default :
Console.WriteLine(„Litera ” + litera + ” jest spółgłoską”);
break ;
}
}

}

Koniec kodu:

Sam widzisz co się dzieje, gdy litera jest samogłoską. Jednak działanie default może być dla ciebie nie znajome, otóż jeżeli wartość zmiennej „litera” nie pasuje do żadnego przypadku case wtedy jest wykonywane instrukcje zawarte w default, aż do napotkania break; lub instrukcji skoku.