null reference exception c# while using foreach and switch 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: Type in switch case argument c#
switch(shape)
{
case Circle c:
WriteLine($"circle with radius {c.Radius}");
break;
case Rectangle s when (s.Length == s.Height):
WriteLine($"{s.Length} x {s.Height} square");
break;
case Rectangle r:
WriteLine($"{r.Length} x {r.Height} rectangle");
break;
default:
WriteLine("<unknown shape>");
break;
case null:
throw new ArgumentNullException(nameof(shape));
}