Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2.018
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    48

Alle Inhalte von Whiz-zarD

  1. Für mich ist das eher ein Hinweis auf ASCII vs. Unicode. ASCII braucht pro Zeichen genau 1 Byte, während ein Zeichen in Unicode variabel groß sein kann. Wenn der Maximalwert ausgeschöpft werden soll, ließe sich das auch besser umschreiben, da die Angabe von 1 Byte überhaupt kein Sinn machen würde.
  2. Aber was möchtest du mit den Zahlen erreichen? Das ist doch nur eine Multiplikation. 1 * 15 = 15 2 * 15 = 30 3 * 15 = 45 ... Im Grunde reicht es doch, wenn du in der Waffe-Klasse den Multiplikator bereitstellst und dann den Wert ausrechnest: class Waffe { private const int _multiplikator = 15; public int Level { get; set; } public int Wert => Level * _multiplikator } var waffe = new Waffe(); waffe.Level = 3; Console.WriteLine(waffe.Wert); // Gibt 15 auf dem Bildschirm aus. Du musst schon schreiben, was der Computer machen soll. Von alleine passiert da nichts. Um es vielleicht anders darzustellen: var waffe = new Waffe(); waffe.Name = nameTextBox.Text; waffe.AbLevel = Convert.ToInt32(abLevelTextbox.Text); waffe.VNum = Convert.ToInt32(vNumTextbox.Text); // ... Natürlich ist dies nur eine vereinfachte Darstellung, da Fehler nicht behandelt werden. Auch würde man es professionell anders lösen aber ich möchte nicht zu viel Verwirrung stiften.
  3. Ich verstehe noch nicht so ganz, was das jetzt mit 15, 30, 45, ... zu tun hat. Da C# ja eine objektorientierte Sprache ist, würde man für die Werte eine Datenklasse schreiben und die Werte in eine Instanz dieser Klasse speichern. Die Instanz kann man dann ja der nächsten Form übergeben und die kann damit machen, was sie will. Wenn ich das richtig verstehe, dass soll im Bild 1 eine Waffe konfiguriert werden. Also hätte man eine Klasse namens "Waffe" und all ihre Eigenschaften würde man als Property implementieren: class Waffe { public string Name { get; set; } public int AbLevel {get; set; } public int VNum {get; set; } // ... } Um dann eine Instanz zu erzeugen schreibt man dann: var waffe = new Waffe(); waffe.Name = "Ultimative Waffe"; waffe.AbLevel = 100; waffe.VNum = 50; // ... Und das übergibst du dann später der nächsten Form. Wenn ich dich richtig verstanden haben sollte.
  4. Die Delegates sind ja keine Zauberei. Die sind lediglich nur eine Liste von Funktionszeigern. Eine Methode ist im Grunde ja auch nichts weiter als eine Referenz auf einen Speicherbereich. Ich verstehe aber immer noch nicht so ganz, wieso du dies löschen möchtest. Ich habe da nur ein Verdacht, wieso du das tun möchtest aber wenn ich richtig liege, dann muss ich dir sagen, dass die Delegates dafür nicht gedacht sind. Ich vermute mal, dass du die aufzurufenden Methoden per Multithreading abarbeiten möchtest und daher mehrere Instanzen von der Caller-Klasse erzeugst, die alle die gleichen Methodenaufrufe bekommen und du dann die herauslöschen möchtest, du dann schon aufgerufen wurden. Liege ich da richtig? Dafür sind Delegates aber nicht gedacht. Delegates werden einfach in einem Thread sequentiell abgearbeitet. Wenn du nebenläufige Aufgaben erledigen möchtest, gibt es die Klasse Task<T>, die solche darstellen und ausgeführt werden. Mit den Methoden Task.WhenAll() bzw. Task.WhenAny() kann man dann auf die Ergebnisse der Tasks warten: class Program { public static async Task Main(string[] args) { var tasks = new Task<(string, bool)>[] { new Task<(string, bool)>(() => { Console.WriteLine("Start Task 1"); Thread.Sleep(1000); Console.WriteLine("End Task 1"); return ("Task 1", true); }), new Task<(string, bool)>(() => { Console.WriteLine("Start Task 2"); Thread.Sleep(100); Console.WriteLine("End Task 2"); return ("Task 2", false); }) }; foreach (var task in tasks) task.Start(); foreach (var result in await Task.WhenAll(tasks)) Console.WriteLine($"{result.Item1} => {result.Item2}"); } } Das Threadhandling übernimmt dann die CLR bzw. das .NET Framework für uns. Dein Beispiel mit dem Bescheidsager und Ausführer lässt sich auch eleganter lösen, denn im Grunde ist dies das Decorator Pattern. Du schreibst ein Interface, was sowohl dein Bescheidsager, als auch dein Ausführer implementiert. Im Konstruktor vom Bescheidsager gibst du dann eine Instanz vom Ausführer mit, die dann nicht null sein darf. Dann sparst du dir auch dieses lästige if-then-else bei der Ausführung. interface IAusfuehrer { bool Ausfuehren(); } class Bescheidsager : IAusfuehrer { private readonly IAusfuehrer _ausfuehrer; public Bescheidsager(IAusfuehrer ausfuehrer) { _ausfuehrer = ausfuehrer ?? throw new ArgumentNullException(nameof(ausfuehrer)); } public bool Ausfuehren() { Console.WriteLine("Starte Methode"); return _ausfuehrer.Ausfuehren(); } } class Ausfuehrer : IAusfuehrer { public bool Ausfuehren() { Console.WriteLine("Ausfuehrer wird ausgeführt"); return true; } } class Program { public static void Main(string[] args) { var ausfuehrer = new Ausfuehrer(); var bescheidsager = new Bescheidsager(ausfuehrer); Console.WriteLine(bescheidsager.Ausfuehren()); } }
  5. Und woher weiß du, welches du entfernen möchtest? An irgendwas muss man ja das Objekt erkennen können. Sei es auch nur der Klassentyp. Dann muss man halt selber die Methode in der Invocationlist finden. Aber das ist doch recht verquirlt. Die sollen ja auch aus irgendeinen Grund entfernt werden. Wäre es dann nicht sinnvoller, bei der Registrierung zu prüfen, ob die Methode aufgerufen werden soll? Dann spart man sich das Entfernen und kann jede Methode einzeln steuern. Also sowas wie: if(...) c.DoAction + = ... if(...) c.DoAction + = ... if(...) c.DoAction + = ...
  6. Naja, man muss ja nicht unbedingt gleich ne Applikation bauen. Man kann auch unabhängig davon seine Programmiererskills erweitern, indem man sich z.B. Programmierprinzipien oder -Methoden anschaut. z.B. SOLID oder auch TDD lässt sich auch mit einfachen Aufgaben üben. Auf exercism.org gibt es auch einen PHP-Track. Das interessante an der Plattform ist halt, dass man auch Tipps von Mentoren holen kann.
  7. Puh, wo soll man da anfangen? Im Grunde ist da so ziemlich alles nicht richtig. Ich würde dir mal raten, mit dem Debugger zu arbeiten und dir mal Schritt für Schritt anschauen, was du falsch machst. Du rufst z.B. die Versuche()-Methode ja immer wieder neu auf und da deine Variable i eine lokale Variable ist, wird sie nach jedem Verlassen und Versuche() aus dem Speicher gelöst und beim Eintreten neu gesetzt. Außerdem hast du auch eine Rekursion gebaut, da Login() sich selbst aufruft. Wenn man etliche Male das Passwort falsch eingibt führt dies unweigerlich zu einer StackOverflow Exception. Zusätzlich wird in der Versuche()-Methode deine Eingabe doch überhaupt nicht überprüft. Du gibst dort ein Input vor und dieser entspricht dem Passwort. Der Code wird also nie die Variable i runterzählen.
  8. Das Type Name Handling fehlt. Die DeserializeObject()-Methode hat noch eine weitere Signatur, womit man eine Konfiguration mitgeben kann. In dieser Konfiguration muss man dann mitgeben, dass er das Type Name Handling aktivieren soll: var config = JsonConvert.DeserializeObject<Config>(configString, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects }); Erst dann erzeugt er das gewünschte Objekt. https://www.newtonsoft.com/json/help/html/SerializeTypeNameHandling.htm
  9. Präzisiere deine Frage. Welche Fehler?
  10. Wo soll das Geld auch herkommen? Im Grunde konkurrieren Agenturen ja mit den Webseiten-Baukästen. Da ist nicht mehr viel Geld zu holen. Die Agenturen machen nur noch das Design. Viel Programmierung wird da sowieso nicht stattfinden. Mehr als die Templates in PHP bauen, wird da wohl nicht passieren. Wenn die Agentur die Webseite dann noch betreiben soll, geben die meisten Agenturen es auch nur an einen Hoster weiter. Wenn man sich als Softwareentwickler weiterentwickeln möchte, sind Agenturen aus meiner Sicht eine schlechte Wahl.
  11. siehe Wikipedia: Also bei 6 HDDs mit jeweils 1 TB wäre die verfügbare Kapazität 1 TB. Was der Lehrer meint ist RAID 01. Also 3 HDDs gebündelt mit RAID 0 und diese wiederum werden über RAID 1 gespiegelt.
  12. So, wie du dir das denkst nicht. Nein. Man könnte aber dennoch einen Hashwert generieren und diesem einen Fingerabdruck zuordnen. Wenn der Scanner dann einen Fingerabdruck erkennt, wird dann der zuvor generierte Hashwert genommen. Dieser Hashwert wäre aber unabhängig vom Fingerabdruck. Ich kenne mich aber damit nicht aus. Man müsste ja irgendwie die Fingerabdruck- und die Metadaten speichern.
  13. Beim Fingerabdruckscanner wird aber kein Hashwert erzeugt, sondern es findet eine Mustererkennung statt.
  14. Die Sätze lauten: Alles ist ein Objekt Objekte kommunizieren durch das Senden und Empfangen von Nachrichten (welche aus Objekten bestehen) Objekte haben ihren eigenen Speicher (strukturiert als Objekte) Jedes Objekt ist die Instanz einer Klasse (welche ein Objekt sein muss) Die Klasse beinhaltet das Verhalten aller ihrer Instanzen (in der Form von Objekten in einer Programmliste) Der sechste Satz war mehr eine Eigenschaft von der Programmiersprache Smalltalk. Wie gesagt, Vererbung und Polymorphie gibt es auch in C. Mittels Polymorphie werden Treiber geschrieben, indem man den FILE-Struct als Schnittstelle betrachtet. Vererbung lässt sich realisieren, wenn man zwei Structs schreibt und deren Gemeinsamkeiten doppelt implementiert und in eine Reihenfolge bringt. So wurde auch auch die Einfachvererbung in C++ implementiert. Deswegen müssen in C++ auch in der Header-Datei die privaten Methoden und Felder definiert werden, damit der Compiler sie sortiert. Damit hat C++ sogar die Datenkapselung von C kaputtgemacht, da die Header-Datei private Dinge verrät. Somit ist auch die Datenkapselung nichts OOP-spezifisches. OOP hat lediglich nur Vererbung und Polymorphie vereinfacht. Der wahre Vorteil von OOP ist aber die Umkehr der Abhängigkeit. Erst mit OOP ist es möglich, Abhängigkeiten in eine Klasse reinzureichen. Dies ist mit prozeduralen Programmiersprachen nicht möglich gewesen, da die Abhängigkeiten zur Kompilierzeit bekannt sein müssen. Offenbar ja nicht. Sonst müsste man ja nicht so viel über Inversion of Control und Dependency Injection reden. Ich selber habe ja eine Assistentenausbildung gemacht. Die Schule ist integriert in einer FH und wir haben überwiegend die gleichen Vorlesungen besucht und Übungen gemacht, wie die FH-Studenten. Lediglich die Bewertung der Übungen und die Klausuren waren nicht ganz hart. Die FH genießt auch in Norddeutschland einen sehr guten Ruf. Ich kenne also die Inhalte eines FH-Studiums und ich bin der Meinung, dass man diese Inhalte auch gut in eine duale Ausbildung packen könnte. Dafür müsste aber die Ausbildung umstrukturiert werden, indem Betriebe das praktische lehren und Schulen tiefer in die Materie gehen. Also dass Schulen zeigen, z.B. wie Datenstrukturen funktionieren, Arten von Softwarearchitekturen, welche Probleme Nebenläufigkeiten haben können, etc. Das sind Themen, mit denen sich ein Entwickler täglich rumschlagen muss aber in der Ausbildung viel zu kurz kommt. Nein, hat es auch nicht. Ich finde aber auch die Frage nicht wirklich für relevant, da alle Sprachen für den Larifari-Unterricht an Schulen geeignet sind und eher dazu dient die Versäumnisse der Betriebe zu kompensieren. Vielmehr stelle ich den Sinn des derzeitigen Programmierunterricht an Berufschulen in Frage.
  15. Und was genau habt ihr da gemacht? Aber die Theorie von OOP ist doch sehr schnell erzählt. Das hat Alan Key in fünf bzw. sechs Sätzen geschafft aber der wahre Vorteil von OOP wird doch nie behandelt. Dann werden sie aber nicht richtig ausgebildet. Eine Schule sollte dann nicht die Versäumnisse der Betriebe kompensieren. Schule und Betrieb sollten sich eigentlich ergänzen. Ich bin der Überzeugung, dass eine duale Ausbildung ein FH-Studium ebenbürdig sein kann, wenn man die Ausbildung besser strukturieren und die Ausbildungsbetriebe mehr kontrollieren würde. Die IHK hat aber ein Interessenskonflikt, da die Betriebe Mitglieder der IHK sind und bei Problemen wird dann oft, zu gunsten der Betriebe, beide Augen zu gedrückt und dann kommt da eben so ein Murks raus.
  16. Sowas lernt man aber nicht in der Berufsschule. Zumindest ist mir keine Berufsschule bekannt. Wenn überhaupt klickt man sich eine Oberfläche zusammen und die Buttons sollen dann irgendwas machen. Das hat nichts mit Objektorientierung zu tun. Es wäre nicht überflüssig, wenn man wirklich die Grundlagen lehrt aber wie gesagt, das wird nicht gemacht. Kann ich so nicht bestätigen. z.B. in Hamburg gibt es schon fast keinen Unterricht mehr. Es werden hauptsächlich keine Projekte gemacht, was ebenfalls wieder Praxis wäre und nicht Theorie. Theorie wäre sowas wie Algorithmen und Datenstrukturen aber wer lernt in der Berufsschule wirklich sowas? Also bestätigst du es selber, dass es, wie es derzeit läuft, Zeitverschwendung ist.
  17. Ich frage mich, was soll eigentich Programmieren in der Berufsschule bringen? Ein FISI wird es mehr mit Skripten zutun haben. Also Bash bzw. Powershell und ähnliches. Powershell ist zwar objektorientiert aber lernt man Powershell wirklich, wenn man Java lernt? Auch brauchen FISI kein allzu tiefes Verständnis über die internen Abläufe einer Programmiersprache. Ein FIAE lernt programmieren im Betrieb. In der Berufsschule brauch er also keinen Grundlagenkurs über Objektorientierung. Zumal die Schulen eh nicht die Grundlagen lehren, sondern hauptsächlich nur sowas, wie: "Wir basteln uns in Java nun ein Button und mittels Mausklick soll der Button 2 + 2 rechnen". Auch werden keine Algorithmen und Datenstrukturen in Schulen durchgenommen. Also sowas wie: "Wie funktioniert ein Array? Eine Liste? Ein binärer Suchbaum? etc." Ich denke, für die meisten ist gar nicht klar, dass weder Polymorphie noch Vererbung das Hauptargument für Objektorientierung ist, sondern die Umkehr der Abhängigkeit. Die Objektorientierung hat lediglich Polymorphie und Vererbung vereinfacht. Wird aber schon lange, mit einigen Kniffen, z.B. in C praktiziert. So, wie es jetzt läuft, ist es für beide Parteien nur Zeitverschwendung. Das höre ich immer wieder aber die Meinung teile ich nicht. Die Syntax wirkt für mich sehr inkonsequent. Es gibt auch keine Datenkapselung. Es gibt nur: "Hey, benutz doch bitte nicht die Variablen, die mit einem Unterstrich anfangen.". Auch die Type Hints sind nur ein Nice-To-Have und werden nicht mal überprüft. Im Zweifel sind sie sogar falsch. Man ist also auf Gedeih und Verderb auf die Dokumentation angewiesen, um herauszufinden, welche Parameter eine Methode/Funktion verlangt und was man bekommt. Das Prinzip der Multiparadigmen macht die Sache dann auch nicht einfacher. Mal sind es Funktionen, mal sind es Methoden an Klassen.
  18. In meinem Vorbereitungskurs für den AdA-Schein wurde genau dieses Thema angesprochen und dass es eben problematisch ist. Ich hab mal ein bisschen recherchiert und ein paar Dinge gefunden. z.B. hat das Kultusministerium Niedersachsen entschieden, dass Berufsschulen Daten an Betriebe weitergeben kann, sofern sie nicht schutzwürdig sind. Schutzwürdig wäre z.B. wenn Fehltage durch eine Erkrankung erklärbar sind, die die Schule kennt. Außerdem muss der Betrieb eine Verpflichtungserklärung unterschreiben. https://www.rlsb.de/themen/schulorganisation/datenschutz/datenschutz-im-schulalltag/schuelerakten/weitergabe-schuelerdaten-an-ausbildungsbetriebe Andere Berufsschulen erlauben dies grundsätzlich, indem sie dies in die Schulordnung schreiben: https://www.bs-gelnhausen.de/fileadmin/Datenschutz_Schule/eu-dsgo_SuS_E_B-Info_v2018-05.pdf Also so einfach ist das Thema nicht.
  19. Hä? Die Probezeit darf maximal nur 4 Monate dauern und während dieser Zeit gibt es auch höchstens nur einen Schulblock. Ich halte es für sehr fragwürdig, aufgrund eines einzigen Schulblockes den Azubi wieder zu kündigen. Außerdem kann man immer noch mit dem Azubi reden und auch fragen, ob man in seine schulischen Unterlagen Einblick bekommen darf. Das sind sehr wohl persönliche Daten und Fehlzeiten stehen ebenfalls auf dem Zeugnis.
  20. Ob die Berufsschule ein Unternehmen kontaktieren kann, das weiß ich jetzt nicht aber andersrum ist es kaum möglich, da ich personenbezogene Daten vom Azubi anfordere und der Azubi nicht zugestimmt hat. Außerdem ist die Schule eine staatliche Einrichtung. Da gibt es noch weitere Hürden, wenn sie Informationen an private Unternehmen aushängigen wollen. Ob ein Azubi in der Schule eklatant schlechte Leistungen bringt, kann ich als Ausbilder ja auch am Zeugnis sehen. Dafür gibt es diese ja. Auch sehe ich seine Leistung im Unternehmen. Jemand, der nur Fünfen und Sechsen im Zeugnis hat, wird ja wohl kaum im Unternehmen der Überflieger sein.
  21. Weißt du was? Ich darf als Ausbilder gar nicht nach der Meinung des Lehrers fragen. Geschweige denn bei der Berufsschule Auskunft über seine Leistung holen, da ich damit seine informationelle Selbstbestimmung verletze...
  22. Das ist absoluter Quatsch. Von Noten ist überhaupt nicht die Rede und interessiert die IHK auch gar nicht. Wenn er nicht zugelassen wurde, dann hatte es andere Gründe. Ein "zu schlecht" wäre rechtlich nicht zulässig. Wenn, dann gehe ich eher davon aus, dass er seinen Pflichten nicht nachkam und der Betrieb ihn deshalb nicht zu Abschlussprüfung anmeldete. Solange der Azubi aber Engagement zeigt und dennoch schlechte Noten hat, ist dies kein Grund, ihn abzulehnen. Was denn nun? Hat er schnell aufgegeben oder doch sein Abschluss gemacht? Oh ja, der Abrutsch in die Gosse... 🙄 Weißt du, nach zwei, drei Jahren interessiert sich keiner mehr für die Noten. Da können sie auch mieserabel sein. Dann kommt es auf die Berufserfahrung an und wenn er die Erfahrung hat, die BMW oder DATEV sucht, wird er auch dort einen Arbeitsplatz bekommen können.
  23. Aus Sicht eines FIAE-Ausbilders: Die erste Zeit gibt es quasi Unterricht von mir. Ich zeige dem Azubi die Grundlagen (Datentypen, Variablen, Methoden, Klassen, etc.) und es gibt Aufgaben, die dann auch mal größer werden. Angefangen mit dem klassischen FizzBuzz, Erstellung einer Klasse für Widerstände, Geometrische Figuren, Wechselgeldautomat, etc. Die letzte Aufgabe war jetzt das Leiterspiel mit einer sehr einfachen grafischen Oberfläche auf der Konsole. Dabei achte ich auch schon drauf, dass von Anfang an der Code sauber strukturiert wird und es auch mehr oder weniger Unittests gibt. In dieser Zeit ist der Azubi zwar in seinem "Kosmos" isoliert aber nimmt an allen Meetings teil, damit er schon mal ein grobes Bild bekommt, mit was wir uns täglich rumschlagen. Wenn das vermittelte Wissen über die Aufgaben gut sitzt, dann wird der Azubi so langsam in unsere Software eingeführt und übernimmt sehr kleine Aufgaben und mache auch Aufgaben mit ihm im Pair. Da unsere Software nicht gerade klein ist, geht es in erster Linie darum, sich im Code zurechtzufinden. Ich selber stehe auch zur jeder Zeit für Fragen zur Verfügung aber es gibt dennoch täglich ein Meeting, wo ich mich dann noch mit dem Azubi treffe und uns noch mal über den Tag unterhalte. Am Freitag gibt es dann noch einen Terminblocker für das Berichtsheft. Corona macht mir aber ein bisschen Kopfzerbrechen. Unsere IT-Abteilung sitzt ja auch im Home Office und der Azubi kann denen ja mal schlecht über die Schulter schauen. Auch im 1st Level-Support ist dies so, sodass er auch dort mal schlecht reinschnuppern kann.
  24. Davon würde ich abraten, weil man einen Störfaktor implementiert, den man ja eigentlich nicht haben möchte. Man schleppt dann durch die Anwendung einen Wert, der nicht zulässig ist und nur an einer Stelle gebraucht wird. Was auch noch ginge, wäre ein Wert außerhalb des Wertebereichs des Enums festzulegen. Ein Enum ist ja im Grunde nur eine Repräsentation einer Zahl. Du kannst also jede Ganzzahl in ein Enum casten. Man könnte also eine Zahl als einen ungültigen Wert bestimmen und mit der IsDefine()-Methode aus der Enum-Klasse könntest du schauen, ob der ermittelte Wert im Enum definiert ist. Im Beispiel hab ich die -1 als ungültige Zahl ausgesucht: public enum Breed { Mensch = 1, Troll, Elf, Zwerg } Breed breed = (Breed) (-1); Console.WriteLine(Enum.IsDefined(breed)); // gibt false zurück, da -1 nicht im Enum definiert ist. Allerdings halte ich die nullable-Variante für besser, denn wenn man doch mal -1 in das Enum hinzufügt, kann man Probleme bekommen, weil man dann alle Stellen im Code suchen muss, die -1 als ungültigen Wert voraussetzen. Der ungültige Wert erzeugt somit wieder ein Störfaktor in der ganzen Anwendung. Die nullable-Variante konzentriert sich aber auf einen genauen Punkt in der Anwendung und streut nicht.
  25. Eine Endlosschleife ist erstmal keine gute Idee, da der Abbruch der Schleife doch bekannt ist. Also würde ich sie auch so definieren. Die Switch-Anweisung würde ich in eine separate Methode packen, um den Code der Schleife kompakt zu halten. Dafür gibt es auch inzwischen eine recht kompakte Syntax. Der Vorteil ist auch dann, dass man diesen Code-Teil automatisiert testen könnte. Schaue dir mal nullable-Wertetypen an. Damit ließe sich eine recht gute möglichkeit bauen. Anstatt im default-Zweig ein boolean zu setzen, könnte man breedChoice auch null zuweisen und die Schleife läuft solange, bis breedChoice ungleich null ist. So würde ich dies auf die Schnelle lösen: static void Main() { Console.WriteLine(GetBreed()); } static Breed GetBreed() { Breed? breed = null; while (breed == null) { Console.WriteLine("Welcher Rasse gehört dein Charakter an?\n"); Console.WriteLine("[1] Mensch"); Console.WriteLine("[2] Troll"); Console.WriteLine("[3] Ork"); Console.WriteLine("[4] Elf"); Console.WriteLine("[5] Zwerg\n"); Console.Write("Eingabe: "); var input = Console.ReadLine(); breed = ToBreed(input); if(breed == null) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("FEHLER: Ungültige Eingabe"); Console.ResetColor(); } } return breed.Value; } static Breed? ToBreed(string? input) => input switch { "1" => Breed.Mensch, "2" => Breed.Troll, "3" => Breed.Elf, "4" => Breed.Zwerg, _ => null }; Natürlich ist jetzt nicht alles perfekt aber ich denke, es zeigt, in welche Richtung es geht.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...