static void Main(string[] args) { MesswertListe mliste = new MesswertListe(); TemperaturMesswert m1 = new TemperaturMesswert(); m1.MyBezeichnung = "Temperaturmesswert"; m1.MyDatum = DateTime.Now; m1.MyOrt = "Darmstadt"; m1.MyValue = 2.5; m1.MyDimension = "°C"; mliste.Add(m1); OzonMesswert o1 = new OzonMesswert(); o1.MyBezeichnung = "Ozonmesswert"; o1.MyDatum = DateTime.Now; o1.MyOrt = "Darmstadt"; o1.MyValue = 2.5; o1.MyDimension = "ppb"; mliste.Add(o1); FahrzeugMesswert f1 = new FahrzeugMesswert(); f1.MyBezeichnung = "Fahrzeug"; f1.MyDatum = DateTime.Now; f1.MyOrt = "Darmstadt"; f1.MyAnzahl = 4; mliste.Add(f1); foreach (var item in mliste) { Console.WriteLine(item.MyBezeichnung); Console.WriteLine(item.MyDatum); Console.WriteLine(item.MyOrt); if (item is TemperaturMesswert) { Console.WriteLine(((TemperaturMesswert)item).MyValue); Console.WriteLine(((TemperaturMesswert)item).MyDimension); } else if (item is OzonMesswert) { Console.WriteLine(((OzonMesswert)item).MyValue); Console.WriteLine(((OzonMesswert)item).MyDimension); } else if (item is FahrzeugMesswert) { Console.WriteLine(((FahrzeugMesswert)item).MyAnzahl); } } }
static void Main(string[] args) { MesswertListe mliste = new MesswertListe(); mliste.GenRandom(); Console.WriteLine("Anzahl der Einträge:"); Console.WriteLine(mliste.Count()); Console.WriteLine(); Console.WriteLine("////////////////////////////////////////////"); Console.WriteLine("Liste der Messwerte in Darmstadt:"); foreach (var item in mliste.ListMesswerte("Darmstadt")) { if (item is OzonMesswert) { Console.WriteLine("Am: " + (item as OzonMesswert).MyDatum.ToString("dd.MM.yyyy")); Console.WriteLine("Ozon: " + (item as OzonMesswert).MyValue.ToString("0.#") + " " + (item as OzonMesswert).MyDimension); } if (item is TemperaturMesswert) { Console.WriteLine("Temperatur: " + (item as TemperaturMesswert).MyValue.ToString("0.#") + " " + (item as TemperaturMesswert).MyDimension); } if (item is FeinstaubMesswert) { Console.WriteLine("Feinstaub: " + (item as FeinstaubMesswert).MyValue.ToString("0.#") + " " + (item as FeinstaubMesswert).MyDimension); } if (item is FahrzeugMesswert) { Console.WriteLine("Fahrzeug: " + (item as FahrzeugMesswert).MyAnzahl.ToString("0.#")); Console.WriteLine(); } } Console.WriteLine(); Console.WriteLine("////////////////////////////////////////////"); Console.WriteLine("Maximaler Ozonmesswert:"); Console.WriteLine(mliste.Maximum("Ozonmesswert").ToString("0.#")); Console.WriteLine("Maximaler Ozonmesswert: (nach Type)"); Console.WriteLine(mliste.MaximumNachType <OzonMesswert>().ToString("0.#")); Console.WriteLine("Maximaler Ozonmesswert: (nach Type mit reflection)"); Console.WriteLine(mliste.MaximumNachType2 <OzonMesswert>().ToString("0.#")); Console.WriteLine("Maximaler Ozonmesswert: (nach Type)"); Console.WriteLine(mliste.MaximumNachType <FahrzeugMesswert>().ToString("0.#")); Console.WriteLine("Maximaler Ozonmesswert: (nach Type mit reflection)"); Console.WriteLine(mliste.MaximumNachType2 <FahrzeugMesswert>().ToString("0.#")); Console.WriteLine(); var erg = mliste.MaximumNachType3 <FahrzeugMesswert>(); var erg2 = mliste.MaximumNachType3 <OzonMesswert>(); Console.WriteLine("////////////////////////////////////////////"); Console.WriteLine("Feinstaub in Darmstadt (Heute):"); Console.WriteLine(mliste.Feinstaub("Darmstadt", DateTime.Today).ToString("0.#")); Console.WriteLine(); Console.WriteLine("////////////////////////////////////////////"); Console.WriteLine("Ozonwerte über Grenzwert:"); foreach (var item in mliste.Wertueberschreitung("Ozonmesswert", 125)) { Console.WriteLine(item); } Console.WriteLine(); Console.WriteLine("Ozonwerte über Grenzwert: (nach Type)"); foreach (var item in mliste.WertueberschreitungNachType <OzonMesswert>(125)) { Console.WriteLine(item); } Console.WriteLine(); Console.WriteLine("Ozonwerte über Grenzwert: (nach Type mit reflection)"); foreach (var item in mliste.WertueberschreitungNachType2 <OzonMesswert>(125)) { Console.WriteLine(item); } Console.WriteLine(); Console.WriteLine("Fahrzeuge über Grenzwert: (nach Type)"); foreach (var item in mliste.WertueberschreitungNachType <FahrzeugMesswert>(35)) { Console.WriteLine(item); } Console.WriteLine(); Console.WriteLine("Fahrzeuge über Grenzwert:(nach Type mit reflection)"); foreach (var item in mliste.WertueberschreitungNachType2 <FahrzeugMesswert>(35)) { Console.WriteLine(item); } Console.WriteLine(); }