using System; using System.IO; using System.Collections.Generic; namespace Exercises_C_Sharp.E28_Classes { class Exercise_2 { public static void Start() { List listList = new(); //Erstellen Sie fünf neue Instanzen der Klasse Lists und fügen Sie diese der oberen Liste hinzu. //Code START listList = [new(), new(), new(), new(), new()]; //Code ENDE foreach(var element in listList) fillListsWithRandomValues(element); //Lassen Sie nun den Anwender Eingaben machen. Diese sollen Strings, Chars, Ints oder Decimal sein. Überprüfen Sie, um welchen Typ es sich handelt und überprüfen Sie, ob sich dieser Wert in einer Liste in einen der Klassen befindet oder nicht. //Sollte sich das Element in einer Liste befinden, dann geben Sie den Wert davor und den Wert danach aus. Sollte es keinen Wert davor bzw. danach geben, nehmen Sie den letzten oder den ersten Wert. while(true) { //Code START string userinput = Console.ReadLine() ?? string.Empty; if(int.TryParse(userinput, out int userint)) { foreach(var element in listList) { for(int i = 0; i < element.IntegerList.Count; i++) { if(element.IntegerList[i] == userint) { if(i == 0) { Console.WriteLine("Davor: " + element.IntegerList.Last()); Console.WriteLine("Danach: " + element.IntegerList[i+1]); } else if(i == element.IntegerList.Length - 1) { Console.WriteLine("Davor: " + element.IntegerList[i-1]); Console.WriteLine("Danach: " + element.IntegerList.First()); } else { Console.WriteLine("Davor: " + element.IntegerList[i-1]); Console.WriteLine("Danach: " + element.IntegerList[i+1]); } } } } } else if(decimal.TryParse(userinput, out decimal userdecimal)) { foreach(var element in listList) { for(int i = 0; i < element.DecimalList.Count; i++) { if(element.DecimalList[i] == userdecimal) { //DRINNEN } } } } else if(userinput.Length == 1) { foreach(var element in listList) { for(int i = 0; i < element.CharList.Count; i++) { if(element.CharList[i] == userinput[0]) { //DRINNEN } } } } else { foreach(var element in listList) { for(int i = 0; i < element.StringList.Count; i++) { if(element.StringList[i] == userinput) { //DRINNEN } } } } //Code ENDE } } static void fillListsWithRandomValues(Lists lis) { Random rand = new(); //Fill Integer for(int i = 0; i < rand.Next(5, 21); i++) lis.IntegerList.Add(rand.Next()); //Fill Strings for(int i = 0; i < rand.Next(5,21); i++) { string temp = ""; for(int j = 0; j < rand.Next(5,21); j++) temp += (char)rand.Next(65,123); lis.StringList.Add(temp); } //Fill Chars for(int i = 0; i < rand.Next(5,21); i++) { lis.CharList.Add((char)rand.Next(65,123)); } //Fill Decimal for(int i = 0; i < rand.Next(5,21); i++) { lis.DecimalList.Add(((decimal)rand.Next()) / (decimal)Math.Pow(10, rand.Next(1,9))); } } } class Lists { public List IntegerList = new(); public List StringList = new(); public List CharList = new(); public List DecimalList = new(); } }