Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Broker
- {
- public void NeuerKurs(string name, double kurs)
- {
- Console.WriteLine("{0} neuer Kurs {1}", name, kurs);
- }
- }
- public delegate void Aenderung(string name, double kurs);
- class Boerse
- {
- class LElement
- {
- public string name;
- public Aenderung kursaenderung;
- public LElement next;
- public LElement(string name,Aenderung kursaenderung)
- {
- this.name = name;
- this.kursaenderung = kursaenderung;
- }
- }
- LElement root;
- public void Abonniere(string aktienName, Aenderung kursaenderung)
- {
- // Überprüfung, ob Aktie schon in Liste vorhanden ist
- LElement current = Suche(aktienName);
- if (current != null) // schon vorhanden
- {
- current.kursaenderung += kursaenderung;
- return;
- }
- // neues Listenelement anlegen
- LElement neu = new LElement(aktienName, kursaenderung);
- // vorne einketten
- neu.next = root;
- root = neu;
- return;
- }
- public void Kursaktualisierung(string aktienname,double neuerKurs)
- {
- LElement current = Suche(aktienname);
- if (current == null) // nicht gefunden
- {
- throw new InvalidOperationException();
- }
- current.kursaenderung(aktienname, neuerKurs);
- }
- private LElement Suche(string name)
- {
- LElement current = root;
- while(current != null)
- {
- if (current.name == name)
- {
- return current;
- }
- current = current.next;
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement