c# switch expression in .NET framework code example
Example 1: switch c#
//This is the supreme way to make a console app with a switch.
using System;
namespace Example
{
class Program
{
static void Main(string[] args)
{
//Greats the user.
Console.WriteLine("Hello!");
Console.WriteLine();
//An infinite loop for continues command reading.
while (true)
{
//Asks for input on a line starting with >>.
Console.Write(">> ");
input = Console.ReadLine();
//Checks if the user wants to exit.
if (input == "Close") break;
//Gets the first word of the line and puts it in command.
var command = input.Split(' ')[0];
//sets up a switch for all the possible commands
switch (command)
{
case "log":
//This is entered if log is submited into the Console.
Console.WriteLine("Not implemented");
break;
case "":
//Leaves the user alone. This is needed because otherwise it would
//cosnider "" as the defualt and print Unknown command.
break;
default:
Console.WriteLine("Unknown command.");
Console.WriteLine();
break;
}
}
}
}
}
Example 2: c# 8 switch
public static RGBColor FromRainbow(Rainbow colorBand) =>
colorBand switch
{
Rainbow.Red => new RGBColor(0xFF, 0x00, 0x00),
Rainbow.Orange => new RGBColor(0xFF, 0x7F, 0x00),
Rainbow.Yellow => new RGBColor(0xFF, 0xFF, 0x00),
Rainbow.Green => new RGBColor(0x00, 0xFF, 0x00),
Rainbow.Blue => new RGBColor(0x00, 0x00, 0xFF),
Rainbow.Indigo => new RGBColor(0x4B, 0x00, 0x82),
Rainbow.Violet => new RGBColor(0x94, 0x00, 0xD3),
_ => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),
};
public enum Rainbow
{
Red,
Orange,
Yellow,
Green,
Blue,
Indigo,
Violet
}