Csharp/CSharp Tutorial/Data Type/enum switch
Enums as parameters
<source lang="csharp">using System; enum EmployeeType : byte {
Manager = 10, Programmer = 1, Contractor = 100, Developer = 9
} class MainClass {
public static void myFunction(EmployeeType e) { switch(e) { case EmployeeType.Contractor: Console.WriteLine("EmployeeType.Contractor"); break; case EmployeeType.Programmer: Console.WriteLine("EmployeeType.Programmer"); break; case EmployeeType.Manager: Console.WriteLine("EmployeeType.Manager"); break; case EmployeeType.Developer: Console.WriteLine("EmployeeType.Developer"); break; default: break; } } public static void Main(string[] args) { EmployeeType fred; fred = EmployeeType.Developer; myFunction(fred); }
}</source>
EmployeeType.Developer
Pass enum to function
<source lang="csharp">using System; public enum Week { Monday, Tuesday, Wednesday, Thursday, Friday, Saturaday,Sunday };
class ConveyorControl {
public void conveyor(Week com) { switch(com) { case Week.Monday: Console.WriteLine("Starting Monday."); break; case Week.Tuesday: Console.WriteLine("Stopping Tuesday."); break; case Week.Wednesday: Console.WriteLine("Moving Wednesday."); break; case Week.Thursday: Console.WriteLine("Moving Thursday."); break; } }
}
class MainClass {
public static void Main() { ConveyorControl c = new ConveyorControl(); c.conveyor(Week.Thursday); c.conveyor(Week.Tuesday); c.conveyor(Week.Wednesday); c.conveyor(Week.Monday); }
}</source>
Moving Thursday. Stopping Tuesday. Moving Wednesday. Starting Monday.
Switch with enum
<source lang="csharp">using System; public enum TimeOfDay {
Morning = 0, Afternoon = 1, Evening = 2
} class EnumExample {
public static void Main() { WriteGreeting(TimeOfDay.Morning); } static void WriteGreeting(TimeOfDay timeOfDay) { switch (timeOfDay) { case TimeOfDay.Morning: Console.WriteLine("Good morning!"); break; case TimeOfDay.Afternoon: Console.WriteLine("Good afternoon!"); break; case TimeOfDay.Evening: Console.WriteLine("Good evening!"); break; default: Console.WriteLine("Hello!"); break; } }
}</source>