Hi.
Folgender Fall in C#:
Code:
public class Test
{
private double _Qs = 30; // Einheit: tonnen / stunde
public double Qs
{
get { return _Qs; }
set { _Qs = value; }
}
// simple Umrechnung: t/h --> kg/s
public double Ms
{
get { return Qs / (1000 / 3600); }
set { Qs = value * (1000 / 3600); }
}
}
Das sieht mir auf den ersten Blick sehr richtig aus.
Beispiel im (Windows-) Taschenrechner mit 30 t/h in 108 kg/s:
30 / (1000 / 3600) = 108
Dieser getter - Code liefert mir jedoch im Debugger und in der Ausgabe (VS 2008) als Wert 'Infinity' zurück. Was fatal ist, da ich damit ja weiter rechnen muss...
Und jetzt bin ich echt perplex: Wieso kommt da so ein offensichtlich falsches Ergebnis bei raus?