Csharp/CSharp Tutorial/Statement/Switch — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
Содержание
- 1 A string can control a switch statement
- 2 Demonstrate the switch
- 3 Empty cases can fall through
- 4 Handle two switch cases
- 5 Put Switch statement inside a for loop
- 6 Switch with only default
- 7 Switch without Default
- 8 The switch Statement
- 9 The switch statement with a user input from keyboard
- 10 Use a char to control the switch.
A string can control a switch statement
<source lang="csharp">using System;
class MainClass {
public static void Main() { string[] strs = { "one", "two", "three", "two", "one" }; foreach(string s in strs) { switch(s) { case "one": Console.Write(1); break; case "two": Console.Write(2); break; case "three": Console.Write(3); break; } } Console.WriteLine(); }
}</source>
12321
Demonstrate the switch
<source lang="csharp">using System;
class MainClass {
public static void Main() { int i; for(i=0; i<10; i++) switch(i) { case 0: Console.WriteLine("i is zero"); break; case 1: Console.WriteLine("i is one"); break; case 2: Console.WriteLine("i is two"); break; case 3: Console.WriteLine("i is three"); break; case 4: Console.WriteLine("i is four"); break; default: Console.WriteLine("i is five or more"); break; } }
}</source>
i is zero i is one i is two i is three i is four i is five or more i is five or more i is five or more i is five or more i is five or more
Empty cases can fall through
<source lang="csharp">using System;
class MainClass {
public static void Main() { int i; for(i=1; i < 5; i++) switch(i) { case 1: case 2: case 3: Console.WriteLine("i is 1, 2 or 3"); break; case 4: Console.WriteLine("i is 4"); break; } }
}</source>
i is 1, 2 or 3 i is 1, 2 or 3 i is 1, 2 or 3 i is 4
Handle two switch cases
<source lang="csharp">using System; class MainClass {
public static void Main() { int i = 1; switch (i) { case 1: case 2: // code here handles both 1 and 2 Console.WriteLine("Low Number"); break; case 3: Console.WriteLine("3"); goto case 4; case 4: Console.WriteLine("Middle Number"); break; default: Console.WriteLine("Default Number"); break; } }
}</source>
Low Number
Put Switch statement inside a for loop
<source lang="csharp">using System; class MainClass {
static void Main() { for (int x = 1; x < 6; x++) { switch (x) { case 2: Console.WriteLine("x is {0} -- In Case 2", x); break; case 5: Console.WriteLine("x is {0} -- In Case 5", x); break; default: Console.WriteLine("x is {0} -- In Default case", x); break; } } }
}</source>
x is 1 -- In Default case x is 2 -- In Case 2 x is 3 -- In Default case x is 4 -- In Default case x is 5 -- In Case 5
Switch with only default
<source lang="csharp">using System; class MainClass {
static void Main() { for (int x = 1; x < 4; x++) { switch (x) { default: Console.WriteLine("x is {0} -- In Default case", x); break; } } }
}</source>
x is 1 -- In Default case x is 2 -- In Default case x is 3 -- In Default case
Switch without Default
<source lang="csharp">using System; class MainClass {
static void Main() { for (int x = 1; x < 6; x++) { switch (x) { case 5: Console.WriteLine("x is {0} -- In Case 5", x); break; } } }
}</source>
x is 5 -- In Case 5
The switch Statement
The general form of the switch statement is
<source lang="csharp">switch(expression) {
case constant1: statement sequence break; case constant2: statement sequence break; case constant3: statement sequence break; . . . default: statement sequence break;
}</source>
- The switch expression must be of an integer type, such as char, byte, short, or int, or of type string .
- The default statement sequence is executed if no case constant matches the expression.
- The default is optional.
- If default is not present, no action takes place if all matches fail.
- When a match is found, the statements associated with that case are executed until the break is encountered.
The switch statement with a user input from keyboard
<source lang="csharp">using System;
public class MainClass {
public static void Main( ) { Console.WriteLine("Please make your selection"); Console.WriteLine("1 Hamburger"); Console.WriteLine("2 Cheese Burger"); Console.WriteLine("3 Fish"); int Selection = int.Parse( Console.ReadLine( ) ); switch( Selection ) { case 1: Console.WriteLine("Hamburger"); break; case 2: Console.WriteLine("Cheese Burger"); break; case 3: Console.WriteLine("Fish"); break; default: Console.WriteLine("Unknown choice"); break; } }
}</source>
Please make your selection 1 Hamburger 2 Cheese Burger 3 Fish 1 Hamburger
Use a char to control the switch.
<source lang="csharp">using System;
class MainClass {
public static void Main() { char ch; for(ch="A"; ch<= "E"; ch++) switch(ch) { case "A": Console.WriteLine("ch is A"); break; case "B": Console.WriteLine("ch is B"); break; case "C": Console.WriteLine("ch is C"); break; case "D": Console.WriteLine("ch is D"); break; case "E": Console.WriteLine("ch is E"); break; } }
}</source>
ch is A ch is B ch is C ch is D ch is E