Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.91 KB | None | 0 0
  1. class Broker
  2.     {
  3.         public void NeuerKurs(string name, double kurs)
  4.         {
  5.             Console.WriteLine("{0} neuer Kurs {1}", name, kurs);
  6.         }
  7.     }
  8. public delegate void Aenderung(string name, double kurs);
  9.     class Boerse
  10.     {
  11.         class LElement
  12.         {
  13.             public string name;
  14.             public Aenderung kursaenderung;
  15.             public LElement next;
  16.             public LElement(string name,Aenderung kursaenderung)
  17.             {
  18.                 this.name = name;
  19.                 this.kursaenderung = kursaenderung;
  20.             }
  21.  
  22.         }
  23.         LElement root;
  24.         public void Abonniere(string aktienName, Aenderung kursaenderung)
  25.         {
  26.             // Überprüfung, ob Aktie schon in Liste vorhanden ist
  27.             LElement current = Suche(aktienName);
  28.             if (current != null) // schon vorhanden
  29.             {
  30.                 current.kursaenderung += kursaenderung;
  31.                 return;
  32.             }
  33.             // neues Listenelement anlegen
  34.             LElement neu = new LElement(aktienName, kursaenderung);
  35.             // vorne einketten
  36.             neu.next = root;
  37.             root = neu;
  38.             return;
  39.  
  40.         }
  41.         public void Kursaktualisierung(string aktienname,double neuerKurs)
  42.         {
  43.             LElement current = Suche(aktienname);
  44.             if (current == null) // nicht gefunden
  45.             {
  46.                 throw new InvalidOperationException();
  47.             }
  48.  
  49.             current.kursaenderung(aktienname, neuerKurs);
  50.            
  51.         }
  52.         private LElement Suche(string name)
  53.         {
  54.             LElement current = root;
  55.             while(current != null)
  56.             {
  57.                 if (current.name == name)
  58.                 {
  59.                     return current;
  60.                 }
  61.                 current = current.next;
  62.             }
  63.             return null;
  64.         }
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement