From 37e271fd9e9264937ab0bb8af155a1480ba8e2d4 Mon Sep 17 00:00:00 2001 From: Geir Okkenhaug Jerstad Date: Fri, 15 Nov 2024 11:01:33 +0100 Subject: [PATCH] MSSwitch --- Emne 3/ConsoleApp8/ConsoleApp8.sln | 16 ++++++++++ Emne 3/ConsoleApp8/SwitchMS/Program.cs | 35 +++++++++++++++++++++ Emne 3/ConsoleApp8/SwitchMS/SwitchMS.csproj | 10 ++++++ 3 files changed, 61 insertions(+) create mode 100644 Emne 3/ConsoleApp8/ConsoleApp8.sln create mode 100644 Emne 3/ConsoleApp8/SwitchMS/Program.cs create mode 100644 Emne 3/ConsoleApp8/SwitchMS/SwitchMS.csproj diff --git a/Emne 3/ConsoleApp8/ConsoleApp8.sln b/Emne 3/ConsoleApp8/ConsoleApp8.sln new file mode 100644 index 0000000..80125a7 --- /dev/null +++ b/Emne 3/ConsoleApp8/ConsoleApp8.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SwitchMS", "SwitchMS\SwitchMS.csproj", "{ED133C88-3CE5-4506-8170-0D6D79F1403E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {ED133C88-3CE5-4506-8170-0D6D79F1403E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ED133C88-3CE5-4506-8170-0D6D79F1403E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ED133C88-3CE5-4506-8170-0D6D79F1403E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ED133C88-3CE5-4506-8170-0D6D79F1403E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/Emne 3/ConsoleApp8/SwitchMS/Program.cs b/Emne 3/ConsoleApp8/SwitchMS/Program.cs new file mode 100644 index 0000000..26c9605 --- /dev/null +++ b/Emne 3/ConsoleApp8/SwitchMS/Program.cs @@ -0,0 +1,35 @@ +public static class SwitchMS +{ + public enum Direction + { + Up, + Down, + Right, + Left + } + + public enum Orientation + { + North, + South, + East, + West + } + + public static Orientation ToOrientation(Direction direction) => direction switch + { + Direction.Up => Orientation.North, + Direction.Right => Orientation.East, + Direction.Down => Orientation.South, + Direction.Left => Orientation.West, + _ => throw new ArgumentOutOfRangeException(nameof(direction), $"Not expected direction value: {direction}"), + }; + + public static void Main() + { + var direction = Direction.Up; + Console.WriteLine($"Map view direction is {direction}"); + Console.WriteLine($"Cardinal orientation is {ToOrientation(direction)}"); + + } +} \ No newline at end of file diff --git a/Emne 3/ConsoleApp8/SwitchMS/SwitchMS.csproj b/Emne 3/ConsoleApp8/SwitchMS/SwitchMS.csproj new file mode 100644 index 0000000..2f4fc77 --- /dev/null +++ b/Emne 3/ConsoleApp8/SwitchMS/SwitchMS.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + +