From 559c3ac4be64bba8e00ffea195f1c6ddaea70ce0 Mon Sep 17 00:00:00 2001 From: sebi Date: Wed, 26 Jun 2024 08:02:56 +0200 Subject: [PATCH] Eigenaufgaben --- Eigenaufgaben/Exercise_1.cs | 43 +++++++++++++++++++++++++++++++++++++ Program.cs | 12 ++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 Eigenaufgaben/Exercise_1.cs diff --git a/Eigenaufgaben/Exercise_1.cs b/Eigenaufgaben/Exercise_1.cs new file mode 100644 index 0000000..fd04538 --- /dev/null +++ b/Eigenaufgaben/Exercise_1.cs @@ -0,0 +1,43 @@ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace Exercises_C_Sharp.Eigenaufgaben +{ + // Dotnet bietet eine Möglichkeit, Benchmarks für gewisse Aufgaben zu erstellen. Dieses Tool bzw. diese Klasse heißt "BenchmarkRunner". Das heißt, der Code wird ausgeführt und die Zeit der Ausführung gemessen. Dafür müssen Sie folgende Attribute in der zu prüfenden Klasse setzen: [Params(1000,10_000)], [Benchmark] + + class Exercise_1 + { + public static void Start() + { + //Starten Sie hier den Benchmark: + //Code START + + //Code ENDE + } + } + class StringTest + { + //Setzen Sie die Attribute so, dass ein Vergleich zwischen den Geschwindigkeiten beider Methoden stattfinden kann. + //Code START + public int Amounts {get;set;} + public string WithStringBuilder() + { + StringBuilder sb = new(); + for(int i = 0; i < Amounts; i++) + sb.Append(i); + + return sb.ToString(); + } + public string WithPlusOperator() + { + string result = ""; + for(int i = 0; i < Amounts; i++) + result += i; + + return result; + } + //Code ENDE + } +} \ No newline at end of file diff --git a/Program.cs b/Program.cs index b5d3075..ec71684 100644 --- a/Program.cs +++ b/Program.cs @@ -678,7 +678,17 @@ namespace Exercises_C_Sharp } }; - + //************************ + //****Eigenaufgaben******* + //************************ + ExerciseGroup ownExercises = new() + { + Name = "Eigenaufgaben", + ElementList = new() + { + new(){Name = "Benchmark", Method = Exercises_C_Sharp.Eigenaufgaben.Exercise_1.Start} + } + };