From c23ea4d61e3f843030c0a0ccc22ba4722f9c90a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Sch=C3=BCler?= Date: Tue, 21 Oct 2025 11:47:05 +0200 Subject: [PATCH] E29 1 - 7 --- Exercises/E29_Konstruktoren/Exercise_1.cs | 1 + Exercises/E29_Konstruktoren/Exercise_2.cs | 6 ++++-- Exercises/E29_Konstruktoren/Exercise_3.cs | 2 +- Exercises/E29_Konstruktoren/Exercise_4.cs | 11 +++++++++++ Exercises/E29_Konstruktoren/Exercise_5.cs | 4 ++++ Exercises/E29_Konstruktoren/Exercise_6.cs | 4 ++-- Exercises/E29_Konstruktoren/Exercise_7.cs | 11 +++++++++++ 7 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Exercises/E29_Konstruktoren/Exercise_1.cs b/Exercises/E29_Konstruktoren/Exercise_1.cs index 62d5f67..ba617e3 100644 --- a/Exercises/E29_Konstruktoren/Exercise_1.cs +++ b/Exercises/E29_Konstruktoren/Exercise_1.cs @@ -9,6 +9,7 @@ namespace Exercises_C_Sharp.E29_Konstruktoren //Erstellen Sie ein Objekt der Klasse und sorgen Sie dafür, dass "Hello World!" auf der Konsole ausgegeben wird. //Code Start + Hallo hallo = new("Hello World!"); //Code ENDE } diff --git a/Exercises/E29_Konstruktoren/Exercise_2.cs b/Exercises/E29_Konstruktoren/Exercise_2.cs index a881ac8..4b25ab0 100644 --- a/Exercises/E29_Konstruktoren/Exercise_2.cs +++ b/Exercises/E29_Konstruktoren/Exercise_2.cs @@ -9,9 +9,11 @@ namespace Exercises_C_Sharp.E29_Konstruktoren { //Im Kontruktor von der Klasse List ist es möglich, eine andere Liste zu übergeben, damit diese übernommen wird. Erstellen Sie eine neue Liste newList und übergeben Sie direkt im Konstruktor die stringList. List stringList = new List() { "Hallo", "Hi", "Hey" }; - + //Code Start - dynamic newList = 1; + List newList = new(stringList); + //Auch + //List newList = [.. stringList]; //Code ENDE foreach(var element in newList) diff --git a/Exercises/E29_Konstruktoren/Exercise_3.cs b/Exercises/E29_Konstruktoren/Exercise_3.cs index 1946af5..32b9cba 100644 --- a/Exercises/E29_Konstruktoren/Exercise_3.cs +++ b/Exercises/E29_Konstruktoren/Exercise_3.cs @@ -8,7 +8,7 @@ namespace Exercises_C_Sharp.E29_Konstruktoren { //Erstellen Sie ein Objekt der Klasse SomeThingElse. Sorgen Sie dafür, dass auf der Konsole die Zahl 343 ausgegeben wird. //Code Start - dynamic obj = 1; + SomeThingElse obj = new(7); //Code ENDE Console.WriteLine(obj.Number * obj.Number * obj.Number); } diff --git a/Exercises/E29_Konstruktoren/Exercise_4.cs b/Exercises/E29_Konstruktoren/Exercise_4.cs index 52642f3..d60f1e1 100644 --- a/Exercises/E29_Konstruktoren/Exercise_4.cs +++ b/Exercises/E29_Konstruktoren/Exercise_4.cs @@ -9,12 +9,23 @@ namespace Exercises_C_Sharp.E29_Konstruktoren //2. Erzeugen Sie eine Objekt der Klasse StringShortner. Geben Sie dann den erzeugten String auf der Konsole aus. //Code Start + StringShortner ss = new("Dies ist ein mega cooler String, der echt mega cool ist. LOL", 10); + + Console.WriteLine("Ausgabe: " + ss.Feld); //Code ENDE } //1. Schreiben Sie eine Klasse "StringShortner", die im Konstruktor einen String und einen Integer verlangt. Sorgen Sie dann dafür, dass der auf die übergebene Anzahl von Integern gekürzt wird. Schreiben Sie den String dann in ein Feld, wovon außen zugegriffen werden kann. //Code Start + class StringShortner + { + public string Feld; + public StringShortner(string str, int i) + { + Feld = str.Substring(0, i); + } + } //Code ENDE } diff --git a/Exercises/E29_Konstruktoren/Exercise_5.cs b/Exercises/E29_Konstruktoren/Exercise_5.cs index 4928b76..9fc1d0a 100644 --- a/Exercises/E29_Konstruktoren/Exercise_5.cs +++ b/Exercises/E29_Konstruktoren/Exercise_5.cs @@ -8,6 +8,10 @@ namespace Exercises_C_Sharp.E29_Konstruktoren { //Erzeugen Sie drei Tiere und lassen Sie sie Lärm machen.... //Code Start + Animalclass[] ac = [new("Shawn", Animals.Sheep), new("Milka", Animals.Cow), new("Rex", Animals.Dog)]; + + foreach (var element in ac) + element.MakeNoise(); //Code ENDE } diff --git a/Exercises/E29_Konstruktoren/Exercise_6.cs b/Exercises/E29_Konstruktoren/Exercise_6.cs index b0dcb11..a437163 100644 --- a/Exercises/E29_Konstruktoren/Exercise_6.cs +++ b/Exercises/E29_Konstruktoren/Exercise_6.cs @@ -10,13 +10,13 @@ namespace Exercises_C_Sharp.E29_Konstruktoren //Erzeugen Sie ein Tuple aus double und decimal: //Code Start - dynamic tup = -1; + Tuple tup = new(12.5, 1234.55M); //Code ENDE Console.WriteLine("Der double: {0} - der decimal: {1}", tup.Item1, tup.Item2); //Erstellen Sie ein neues Random-Element, um Zufallszahlen zu erzeugen. Übergeben Sie einen dabei einen Seed, um die Zufallszahlen noch besser zu machen: //Code Start - dynamic Random = -1; + Random Random = new((int)(DateTime.Now.Ticks % 1000000)); //Code ENDE Console.WriteLine(Random.Next()); } diff --git a/Exercises/E29_Konstruktoren/Exercise_7.cs b/Exercises/E29_Konstruktoren/Exercise_7.cs index 726e3c4..abb7dc3 100644 --- a/Exercises/E29_Konstruktoren/Exercise_7.cs +++ b/Exercises/E29_Konstruktoren/Exercise_7.cs @@ -21,11 +21,22 @@ namespace Exercises_C_Sharp.E29_Konstruktoren } //1. Überladen Sie den Konstruktor, damit ein String übergeben werden kann. Geben Sie diesen dann aus: //Code START + public MoreMethod(string s) + { + Console.WriteLine("String: " + s); + } //Code ENDE //2. Schreiben Sie eine zweite Überladung des Konstruktors, welche zwei Integer-Zahlen übergeben werden. Teilen Sie die erste Zahl durch die zweite Zahl und geben Sie das Ergebnis mit den Nachkommastellen aus: //Code START + public MoreMethod(int int1, int int2) + { + if (int2 == 0) throw new DivideByZeroException(); + + double d = (double)int1 / int2; + Console.WriteLine("Ergebnis: " + d); + } //Code ENDE }