wenn die return-Anweisung in c#
Ich bin überschreiben einer virtuellen Methode, und ich brauche, um einen Wert zurückzugeben, abhängig von einer bool-Ausdruck.
public override float Q()
{
return (float)Math.Sqrt(2 * A* B / C);
}
Ich brauchen, um wieder einen lokalen Mitglied (nennen wir es D) für Q (), wenn der berechnete Wert, der oben gezeigt wird, weniger als in D. ich habe versucht, mit regelmäßigen, wenn Aussagen, aber es wird nicht einen Wert zurückgeben, es sei denn, es ist Rückgabe außerhalb der if-Anweisung. Jede Hilfe würde geschätzt werden.
- Bitte zeigen Sie uns, was Sie versucht haben.
- So ist der obige code der Basisklasse oder einer der abgeleiteten Klasse? Wollen Sie die abgeleitete Klasse zurückgeben, wird der Wert aus der Basis-Klasse
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa das überspringen der
if
insgesamt:oder mit ternärer operator
Math.Max
.ich würde denken, dass dies funktionieren würde
EDIT :
oder Sie können, reinigen Sie es bis zu diesem
Es sei denn, dies ist eine Fangfrage, da
D
ist lokal zu der Klasse, der code sollte wie folgt Aussehen:aber beachten Sie, dass
D
mussfloat
oder gegossen, um einefloat
auf die Rückkehr, wenn es nicht. Weitere, wennD
ist nicht einfloat
möchten Sie vielleicht nur so etwas tun, weil sein Typ kann nicht implizit konvertierbar:Etwas wie dieses: