static void Main(string[] args) { Action <int> actionVar = Funktion1; actionVar += Funktion1; actionVar(45); actionVar -= Funktion1; actionVar(85); Func <int, int, string> funcVar = Funktion2; funcVar += Funktion2; Console.WriteLine(funcVar(12, 123)); List <int> intList = new List <int>(); for (int i = 0; i < 50; i++) { intList.Add(i * 3); } List <int> ergebnisse = intList.FindAll(delegate(int a) { return(a % 2 == 0); }); foreach (var item in ergebnisse) { Console.WriteLine(item); } List <Fahrzeug> fzList = new List <Fahrzeug>(); for (int i = 0; i < 10; i++) { fzList.Add(PKW.ErzeugeZufälligenPKW()); } Fahrzeug ErgFz = fzList.Find(fz => fz.Name.Equals("BMW")); Console.WriteLine(ErgFz.BeschreibeMich()); Console.ReadKey(); }
//Methode zur zufälligen Erstellung von Fahrzeugen public Fahrzeug ErstelleNeuesFz() { switch (Generator.Next(1, 4)) { case 1: return(new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); case 2: return(new Flugzeug("Boing", 800, 3000000, 9999)); case 3: return(PKW.ErzeugeZufälligenPKW("")); } return(null); }
//Methode zur zufälligen Erstellung von Fahrzeugen private void ErstelleNeuesFZ() { switch (Generator.Next(1, 4)) { case 1: FzListe.Add(new Flugzeug($"Boing", 800, 3600000, 9999)); break; case 2: FzListe.Add(new Schiff($"Titanic", 40, 3500000, Schiff.Schiffstreibstoff.Dampf)); break; case 3: FzListe.Add(PKW.ErzeugeZufälligenPKW()); break; } }
//Methode zur zufälligen Fahrzeug-Erzeugung private void ErzeugeNeuesFz() { switch (generator.Next(1, 4)) { case 1: FahrzeugListe.Add(new Schiff("Titanic", 40, 3000000.0, Schiff.Treibstoffart.Dampf)); break; case 2: FahrzeugListe.Add(new Flugzeug("Boing", 980, 3500000.0, 9999)); break; case 3: FahrzeugListe.Add(PKW.ErzeugeZufälligenPKW()); break; default: break; } }
//Click-Methoden der Buttons //Methode zur zufälligen Erstellung von Fahrzeugen private void BtnNew_Click(object sender, EventArgs e) { switch (generator.Next(1, 4)) { //Erzeugung von Objekten je nach zufälliger Zahl case 1: FahrzeugListe.Add(new Flugzeug($"Boing", 800, 3600000, 9999)); break; case 2: FahrzeugListe.Add(new Schiff($"Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); break; case 3: FahrzeugListe.Add(PKW.ErzeugeZufälligenPKW($"")); break; } ShowFzs(); }
static void Main(string[] args) { //Ändern des durch Console verwendeten Zeichensatzes auf Unicode (damit das €-Zeichen angezeigt werden kann) Console.OutputEncoding = Encoding.UTF8; #region Modul04: OOP ////Instanzierung der Fahrzeuge //Fahrzeug fz1 = new Fahrzeug("BMW", 200); //Fahrzeug fz2 = new Fahrzeug("Audi", 180); ////Ausgabe von fz1 //Console.WriteLine(fz1.Name + ": " + fz1.MaxGeschwindigkeit + "km/h"); ////Veränderung des Namens von fz1 //fz1.Name = "Opel"; ////Ausgabe der Fahrzeugeigenschaften (fz1 wurde verändert, fz2 nicht) //Console.WriteLine(fz1.Name + ": " + fz1.MaxGeschwindigkeit + "km/h"); //Console.WriteLine(fz2.Name + ": " + fz2.MaxGeschwindigkeit + "km/h"); ////Ausgabe der BeschreibeMich-Methode von fz1 //Console.WriteLine(fz1.BeschreibeMich()); #endregion #region Lab04: Fahrzeug_Klasse ////Deklaration einer Fahrzeug-Variablen und Initialisierung mittels einer Fahrzeug-Instanz //Fahrzeug fz1 = new Fahrzeug("Mercedes", 190, 23000); ////Ausführen der BeschreibeMich()-Methode des Fahrzeugs und Ausgabe in der Konsole //Console.WriteLine(fz1.BeschreibeMich() + "\n"); ////Diverse Methodenausführungen //fz1.StarteMotor(); //fz1.Beschleunige(120); //Console.WriteLine(fz1.BeschreibeMich() + "\n"); //fz1.Beschleunige(300); //Console.WriteLine(fz1.BeschreibeMich() + "\n"); //fz1.StoppeMotor(); //Console.WriteLine(fz1.BeschreibeMich() + "\n"); #endregion #region Modul05: Vererbung //PKW pkw1 = new PKW("BMW", 210, 26000, 5); //Console.WriteLine(pkw1.BeschreibeMich()); //Console.WriteLine(pkw1); //pkw1 = new PKW("BMW", 210, 26000, 5); //pkw1 = new PKW("BMW", 210, 26000, 5); //pkw1 = new PKW("BMW", 210, 26000, 5); //pkw1 = new PKW("BMW", 210, 26000, 5); //pkw1 = new PKW("BMW", 210, 26000, 5); //pkw1 = new PKW("BMW", 210, 26000, 5); //pkw1 = new PKW("BMW", 210, 26000, 5); //Console.WriteLine(Fahrzeug.ZeigeAnzahlFahrzeuge()); #endregion #region Lab05: PKW-, Schiff- und Flugzeug-Klasse //PKW pkw1 = new PKW("BMW", 250, 23000, 5); //Console.WriteLine(pkw1.BeschreibeMich()); //pkw1.Hupe(); //Schiff schiff1 = new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf); //Console.WriteLine(schiff1.BeschreibeMich()); //schiff1.Hupe(); //Flugzeug flugzeug1 = new Flugzeug("Boing", 750, 3000000, 9990); //Console.WriteLine(flugzeug1.BeschreibeMich()); //flugzeug1.Hupe(); //Console.WriteLine(Fahrzeug.ZeigeAnzahlFahrzeuge()); #endregion #region Modul06: Interfaces und Polymorphismus //PKW pkw1 = new PKW("BMW", 250, 23000, 5); //Fahrzeug fz1 = pkw1; //IBewegbar bewegbaresObjekt = pkw1; //bewegbaresObjekt.Crash(); //MontiereNeuesRad(pkw1); //BenenneFahrzeugUm("Opel", pkw1); #endregion #region Lab06: IBeladbar //PKW pkw1 = new PKW("BMW", 250, 23000, 5); //Flugzeug flugzeug1 = new Flugzeug("Boing", 750, 3000000, 9990); //Schiff schiff1 = new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf); //BeladeFahrzeuge(pkw1, flugzeug1); //BeladeFahrzeuge(flugzeug1, schiff1); //BeladeFahrzeuge(schiff1, pkw1); //Console.WriteLine("\n" + schiff1.BeschreibeMich()); //schiff1.Entlade(); #endregion #region Modul07: Generische Listen ////Deklaration und Initialisierung einer Liste von Strings //System.Collections.Generic.List<string> Städteliste = new List<string>(); ////Hinzufügen von Listeneinträgen //Städteliste.Add("Berlin"); //Städteliste.Add("Hamburg"); //Städteliste.Add("München"); //Städteliste.Add("Köln"); //Städteliste.Add("Düsseldorf"); ////Ausgabe der Länge der Liste //Console.WriteLine(Städteliste.Count); ////Ausgabe der 4. Listenposition //Console.WriteLine(Städteliste[3]); ////Manipulation der 5. Listenposition //Städteliste[4] = "Dresden"; //Console.WriteLine(Städteliste[4]); ////Schleife über die Liste //foreach (var stadt in Städteliste) //{ // Console.WriteLine(stadt); //} ////Löschen des Eintrags 'München' (Nachfolgende Einträge rücken nach oben) //Städteliste.Remove("München"); //List<Fahrzeug> Fahrzeugliste = new List<Fahrzeug>(); //Fahrzeugliste.Add(new PKW("BMW", 250, 23000, 5)); //Fahrzeugliste.Add(new Flugzeug("Boing", 750, 3000000, 9990)); //Fahrzeugliste.Add(new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); //foreach (var fz in Fahrzeugliste) //{ // Console.WriteLine(fz.BeschreibeMich()); //} ////Deklaration und Initialisierung eines Dictionarys (Key: String, Value: Int) //Dictionary<string, int> Einwohnerzahlen = new Dictionary<string, int>(); ////Hinzufügen von Dictionary-Einträgen //Einwohnerzahlen.Add("Berlin", 3500000); //Einwohnerzahlen.Add("Hamburg", 2500000); //Einwohnerzahlen.Add("Leipzig", 60000); ////Ausgabe des Eintrags mit Key 'Leipzig' //Console.WriteLine(Einwohnerzahlen["Leipzig"]); ////Ändern des Eintrags mit dem Key 'Leipzig' //Einwohnerzahlen["Leipzig"] = 70000; ////Schleife über Dictionary //foreach (var item in Einwohnerzahlen) //{ // Console.WriteLine(item.Key + ": " +item.Value); //} //Dictionary<string, Fahrzeug> Dict2 = new Dictionary<string, Fahrzeug>(); //Dict2.Add("Hugo", new PKW("BMW", 250, 23000, 5)); //Dict2.Add("Anna", new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); //Console.WriteLine(Dict2["Anna"].BeschreibeMich()); //Dictionary<Fahrzeug, List<string>> Passagiere = new Dictionary<Fahrzeug, List<string>>(); //Passagiere.Add(new PKW("BMW", 250, 23000, 5), Städteliste); ////Deklaration und Initialisierung eines Hastables + Erstellung und Abruf von Einträgen (nicht-genereisches Dictionary nach dem Hash-Speicherprinzip) //Hashtable ht = new Hashtable(); //ht.Add("Hallo", 450); //ht.Add(78.5, new PKW("VW", 260, 250020, 4)); //Console.WriteLine(ht["Hallo"]); ////Deklaration und Initialisierung eines HashSets (generische Liste nach dem Hash-Speicherprinzip) //HashSet<int> hs = new HashSet<int>(); //hs.Add(23); #endregion #region Lab07 ZufälligeFahrzeuglisten ////Deklaration der benötigten Variablen und und Initialisierung mit Instanzen der benötigten Objekte //Random generator = new Random(); //Queue<Fahrzeug> fzQueue = new Queue<Fahrzeug>(); //Stack<Fahrzeug> fzStack = new Stack<Fahrzeug>(); //Dictionary<Fahrzeug, Fahrzeug> fzDict = new Dictionary<Fahrzeug, Fahrzeug>(); ////Deklaration und Initialisierung einer Variablen zur Bestimmung der Anzahl der Durchläufe //int AnzahlFZs = 1000; ////Schleife zur zufälligen Befüllung von Queue und Stack //for (int i = 0; i < AnzahlFZs; i++) //{ // //Würfeln einer zufälligen Zahl im Switch // switch (generator.Next(1, 4)) // { // //Erzeugung von Objekten je nach zufälliger Zahl // case 1: // fzQueue.Enqueue(new Flugzeug($"Boing_Q{i}", 800, 3600000, 9999)); // fzStack.Push(new Flugzeug($"Boing_S{i}", 800, 3600000, 9999)); // break; // case 2: // fzQueue.Enqueue(new Schiff($"Titanic_Q{i}", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); // fzStack.Push(new Schiff($"Titanic_S{i}", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); // break; // case 3: // fzQueue.Enqueue(PKW.ErzeugeZufälligenPKW($"_Q{i}")); // fzStack.Push(PKW.ErzeugeZufälligenPKW($"_S{i}")); // break; // } //} ////Schleife zur Prüfung auf das Interface und Befüllung des Dictionaries //for (int i = 0; i < AnzahlFZs; i++) //{ // //Prüfung, ob das Interface vorhanden ist (mittels Peek(), da die Objekte noch benötigt werden)... // if (fzQueue.Peek() is IBeladbar) // { // //...wenn ja, dann Cast in das Interface und Ausführung der Belade()-Methode (mittels Peek())... // ((IBeladbar)fzQueue.Peek()).Belade(fzStack.Peek()); // //...sowie Hinzufügen zum Dictionary (mittels Pop()/Dequeue(), um beim nächsten Durchlauf andere Objekte an den Spitzen zu haben) // fzDict.Add(fzQueue.Dequeue(), fzStack.Pop()); // } // else // { // //... wenn nein, dann Löschung der obersten Objekte (mittels Pop()/Dequeue()) // fzQueue.Dequeue(); // fzStack.Pop(); // } //} ////Erzwingen eines Durchlaufs der GarbageCollcetion (Löscht alle nicht-referenzierten Objekte aus dem RAM) //GC.Collect(); ////Programmpause //Console.ReadKey(); //Console.WriteLine("\n----------LADELISTE----------"); ////Schleife zur Ausgabe des Dictionaries //foreach (var item in fzDict) //{ // Console.WriteLine($"'{item.Key.Name}' hat '{item.Value.Name}' geladen."); //} #endregion //Erstellung von Bsp-Objekten PKW pkw1 = PKW.ErzeugeZufälligenPKW(""); PKW pkw2 = PKW.ErzeugeZufälligenPKW(""); //Ausgabe der ToString-Funktion des PKWs (wird in Fahrzeugklasse überschrieben) Console.WriteLine(pkw1); //Bsp für die Verwendung der in der Fahrzeug-Klasse definierten Operatoren (vgl. Fahrzeugpark.Fahrzeug) Console.WriteLine(pkw1 == pkw2); Console.WriteLine(pkw1 == pkw1); Flugzeug flug1 = new Flugzeug($"Boing", 800, 3600000, 9999); //Bsp für die Verwendung von IEnumerable (vgl. Fahrzeugpark.Flugzeug) foreach (var item in flug1) { Console.WriteLine(item); } //Bsp für die Verwendung der Indexer-Property (vgl. Fahrzeugpark.Flugzeug) Console.WriteLine(flug1[2]); Random gene = new Random(); //Bsp für die Verwendung einer Erweiterungsmethode (s.u.) gene.NextInclusive(1, 10); }
static void Main(string[] args) { //Ändern des durch Console verwendeten Zeichensatzes auf Unicode (damit das €-Zeichen angezeigt werden kann) Console.OutputEncoding = Encoding.UTF8; #region Modul04: OOP ////Instanzierung der Fahrzeuge ////volle Pfadangabe bei Objekt/Variablenaufruf //Fahrzeugpark.Fahrzeug fz1 = new Fahrzeugpark.Fahrzeug("BMW", 250); ////Benutzung der using-Anweisung //Fahrzeug fz2 = new Fahrzeug("VW", 190); //Aufruf des paraeterlosen Konstruktors //Fahrzeug fz3 = new Fahrzeug(); ////Ausgabe von fz1 //Console.WriteLine(fz1.Name + ": " + fz1.MaxGeschwindigkeit + "km/h"); ////Veränderung des Namens von fz1 //fz1.Name = "Opel"; ////Ausgabe der Fahrzeugeigenschaften (fz1 wurde verändert, fz2 nicht) //Console.WriteLine(fz1.Name + ": " + fz1.MaxGeschwindigkeit + "km/h"); //Console.WriteLine(fz2.Name + ": " + fz2.MaxGeschwindigkeit + "km/h"); ////Ausgabe der BeschreibeMich-Methode von fz1 //Console.WriteLine(fz1.BeschreibeMich()); ////Neuzuweisung der fz2-Variable auf Objekt in fz1 (beide Variablen zeigen auf dasselbe Objekt) //fz2 = fz1; ////manueller Aufruf der GarbageCollection //GC.Collect(); #endregion #region Lab04: Fahrzeug_Klasse ////Deklaration einer Fahrzeug-Variablen und Initialisierung mittels einer Fahrzeug-Instanz //Fahrzeug fz1 = new Fahrzeug("Mercedes", 190, 23000); ////Ausführen der BeschreibeMich()-Methode des Fahrzeugs und Ausgabe in der Konsole //Console.WriteLine(fz1.BeschreibeMich()); ////Diverse Methodenausführungen //fz1.StarteMotor(); //fz1.Beschleunige(120); //Console.WriteLine(fz1.BeschreibeMich()); //fz1.Beschleunige(300); //Console.WriteLine(fz1.BeschreibeMich()); //fz1.StoppeMotor(); //Console.WriteLine(fz1.BeschreibeMich()); #endregion #region Modul05: Vererbung ////Bsp-Objekt-Instanzierung //PKW pkw1 = new PKW("BMW", 190, 23000, 4); //pkw1 = new PKW("BMW", 190, 23000, 4); //pkw1 = new PKW("BMW", 190, 23000, 4); //pkw1 = new PKW("BMW", 190, 23000, 4); //pkw1 = new PKW("BMW", 190, 23000, 4); //pkw1 = new PKW("BMW", 190, 23000, 4); //pkw1 = new PKW("BMW", 190, 23000, 4); ////Aufruf der ToString()-Methode //Console.WriteLine(pkw1); ////Aufruf der Hupe()-Methode //pkw1.Hupe(); ////Ausgabe von statischer Eingenschaft/Methode //Console.WriteLine(Fahrzeug.AnzahlErstellterFahrzeuge); //Console.WriteLine(Fahrzeug.ZeigeAnzahlFahrzeuge()); #endregion #region Lab05: PKW-, Schiff- und Flugzeug-Klasse ////Instanzierung eines Bsp-PKWs //PKW pkw1 = new PKW("BMW", 250, 23000, 5); //Console.WriteLine(pkw1.BeschreibeMich()); //pkw1.Hupe(); ////Instanzierung eines Bsp-Schiffs //Schiff schiff1 = new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf); //Console.WriteLine(schiff1.BeschreibeMich()); //schiff1.Hupe(); ////Instanzierung eines Bsp-Flugzeugs //Flugzeug flugzeug1 = new Flugzeug("Boing", 750, 3000000, 9990); //Console.WriteLine(flugzeug1.BeschreibeMich()); //flugzeug1.Hupe(); ////Ausgabe der statischen Methode der Fahrzeugklasse //Console.WriteLine(Fahrzeug.ZeigeAnzahlFahrzeuge()); #endregion #region Modul06: Interfaces und Polymorphismus ////Instanzierung von Bsp-Objekt //PKW pkw1 = new PKW("BMW", 190, 23000, 4); ////Aufruf der Interface-Methode //pkw1.Crash(); ////Zuweisung neuer Variablen (anderer Variablentyp) mit dem PKW-Objekt ////-> Variablentyp definiert 'Sichtbarkeit' der Eigenschaften //Fahrzeug fz1 = pkw1; //IBewegbar bewegbaresObjekt = pkw1; ////BSP: Variablentyp = Fahrzeug | Laufzeittyp (= Typ des Objekts) = PKW //Fahrzeug fz2 = new PKW("VW", 190, 25000, 3); ////Prüdung, ob in Fahrzeug-Variable ein PKW-Objekt liegt... //if (fz2 is PKW) //{ // //... wenn ja, dann Cast in PKW und Zuweisung zu PKW-Variable // PKW pkw2 = (PKW)fz2; //} ////Aufruf der BSP-Funktion (s.u.) //MontiereNeuesRad(pkw1); #endregion #region Lab06: IBeladbar //PKW pkw1 = new PKW("BMW", 250, 23000, 5); //Flugzeug flugzeug1 = new Flugzeug("Boing", 750, 3000000, 9990); //Schiff schiff1 = new Schiff("Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf); //BeladeFahrzeuge(pkw1, flugzeug1); //BeladeFahrzeuge(flugzeug1, schiff1); //BeladeFahrzeuge(schiff1, pkw1); //Console.WriteLine("\n" + schiff1.BeschreibeMich()); #endregion #region Modul07: Generische Listen ////Deklaration und Initialisierung einer Liste von Strings //List<string> Städteliste = new List<string>(); ////Hinzufügen von Listeneinträgen //Städteliste.Add("Berlin"); //Städteliste.Add("Köln"); //Städteliste.Add("Hamburg"); //Städteliste.Add("Nürnberg"); //Städteliste.Add("München"); ////Ausgabe der Länge der Liste //Console.WriteLine(Städteliste.Count); ////Ausgabe der 3. Listenposition //Console.WriteLine(Städteliste[2]); ////Manipulation der 3. Listenposition //Staedteliste[2] = "Dresden"; //Console.WriteLine(Staedteliste[2]); ////Schleife über die Liste //foreach (var item in Städteliste) //{ // Console.WriteLine(item); //} ////Löschen des Eintrags 'Köln' (Nachfolgende Einträge rücken nach oben) //Staedteliste.Remove("Köln"); ////Bsp für Fahrzeug-Liste //List<Fahrzeug> Fahrzeugliste = new List<Fahrzeug>(); //Fahrzeugliste.Add(new PKW("BMW", 190, 23000, 4)); //Fahrzeugliste.Add(new PKW("BMW", 190, 23000, 4)); //Fahrzeugliste.Add(new PKW("BMW", 190, 23000, 4)); //Fahrzeugliste.Add(new PKW("BMW", 190, 23000, 4)); //Fahrzeugliste.Add(new PKW("BMW", 190, 23000, 4)); //foreach (var item in Fahrzeugliste) //{ // Console.WriteLine(item); //} //Fahrzeugliste.RemoveAt(3); ////Deklaration und Initialisierung eines Dictionarys (Key: Int, Value: String) //Dictionary<int, string> Dict = new Dictionary<int, string>(); ////Hinzufügen von Dictionary-Einträgen //Dict.Add(1, "Hallo"); //Dict.Add(202, "Ciao"); //Dict.Add(3185, "Hi"); ////Ausgabe des Eintrags mit Key '202' //Console.WriteLine(Dict[202]); ////Deklaration und Initialisierung eines Hastables + Erstellung und Abruf von Einträgen (nicht-genereisches Dictionary nach dem Hash-Speicherprinzip) //Hashtable ht = new Hashtable(); //ht.Add("Hallo", 450); //ht.Add(78.5, new PKW("VW", 260, 250020, 4)); //Console.WriteLine(ht["Hallo"]); ////Schleife über Dictionary //foreach (var item in Dictionary1) //{ // Console.WriteLine(item.Key + ": " + item.Value); //} ////Deklaration und Initialisierung eines Hastables + Erstellung und Abruf von Einträgen (nicht-genereisches Dictionary nach dem Hash-Speicherprinzip) //Hashtable ht = new Hashtable(); //ht.Add("Hallo", 450); //ht.Add(78.5, new PKW("VW", 260, 250020, 4)); //Console.WriteLine(ht["Hallo"]); ////Deklaration und Initialisierung eines HashSets (generische Liste nach dem Hash-Speicherprinzip) //HashSet<int> hs = new HashSet<int>(); //hs.Add(23); #endregion #region Lab07 ZufälligeFahrzeuglisten ////Deklaration der benötigten Variablen und und Initialisierung mit Instanzen der benötigten Objekte //Random generator = new Random(); //Queue<Fahrzeug> fzQueue = new Queue<Fahrzeug>(); //Stack<Fahrzeug> fzStack = new Stack<Fahrzeug>(); //Dictionary<Fahrzeug, Fahrzeug> fzDict = new Dictionary<Fahrzeug, Fahrzeug>(); ////Deklaration und Initialisierung einer Variablen zur Bestimmung der Anzahl der Durchläufe //int AnzahlFZs = 10000; ////Schleife zur zufälligen Befüllung von Queue und Stack //for (int i = 0; i < AnzahlFZs; i++) //{ // //Würfeln einer zufälligen Zahl im Switch // switch (generator.Next(1, 4)) // { // //Erzeugung von Objekten je nach zufälliger Zahl // case 1: // fzQueue.Enqueue(new Flugzeug($"Boing_Q{i}", 800, 3600000, 9999)); // fzStack.Push(new Flugzeug($"Boing_S{i}", 800, 3600000, 9999)); // break; // case 2: // fzQueue.Enqueue(new Schiff($"Titanic_Q{i}", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); // fzStack.Push(new Schiff($"Titanic_S{i}", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf)); // break; // case 3: // fzQueue.Enqueue(PKW.ErzeugeZufälligenPKW($"_Q{i}")); // fzStack.Push(PKW.ErzeugeZufälligenPKW($"_S{i}")); // break; // } //} ////Schleife zur Prüfung auf das Interface und Befüllung des Dictionaries //for (int i = 0; i < AnzahlFZs; i++) //{ // //Prüfung, ob das Interface vorhanden ist (mittels Peek(), da die Objekte noch benötigt werden)... // if (fzQueue.Peek() is IBeladbar) // { // //...wenn ja, dann Cast in das Interface und Ausführung der Belade()-Methode (mittels Peek())... // ((IBeladbar)fzQueue.Peek()).Belade(fzStack.Peek()); // //...sowie Hinzufügen zum Dictionary (mittels Pop()/Dequeue(), um beim nächsten Durchlauf andere Objekte an den Spitzen zu haben) // fzDict.Add(fzQueue.Dequeue(), fzStack.Pop()); // } // else // { // //... wenn nein, dann Löschung der obersten Objekte (mittels Pop()/Dequeue()) // fzQueue.Dequeue(); // fzStack.Pop(); // } //} ////Programmpause //Console.ReadKey(); //Console.WriteLine("\n----------LADELISTE----------"); ////Schleife zur Ausgabe des Dictionaries //foreach (var item in fzDict) //{ // Console.WriteLine($"'{item.Key.Name}' hat '{item.Value.Name}' geladen."); //} #endregion //Erstellung von Bsp-Objekten PKW pkw1 = PKW.ErzeugeZufälligenPKW(""); PKW pkw2 = PKW.ErzeugeZufälligenPKW(""); pkw2.Name = pkw1.Name; Console.WriteLine(pkw1.Name); Console.WriteLine(pkw2.Name); //Bsp für die Verwendung der in der Fahrzeug-Klasse definierten Operatoren Console.WriteLine(pkw1 == pkw2); Console.WriteLine(pkw1 != pkw2); Flugzeug flug1 = new Flugzeug("Boing", 800, 30000000, 9999); //Bsp für die Verwendung von IEnumerable foreach (var item in flug1) { Console.WriteLine(item); } //Bsp für die Verwendung der Indexer-Property Console.WriteLine(flug1[2]); Random gene = new Random(); //Bsp für die Verwendung einer Erweiterungsmethode (s.u.) Console.WriteLine(gene.NextInclusive(1, 5)); Console.ReadKey(); }