Ich weiß, ich könnte einfach abs in diesem Fall verwenden, aber ich bin nur neugierig: Warum passiert das?Drei Operator Ursachen StackOverflowException
Antwort
Sie verursachen eine Endlosschleife, indem Sie versuchen, den Property Setter innerhalb des Property Setters aufzurufen.
Sie wollen wahrscheinlich ein eigenes Trägerfeld zu erzeugen, den Wert zu speichern, wie folgt:
private float maxThrotle;
public float MaxThrotle {
set { maxThrotle = value < 0 ? -value : value; //this line causes problem
}
get { return maxThrotle; }
}
Hinweis I die Eigenschaft umbenannt einen Großbuchstaben zu verwenden, in Übereinstimmung mit dem meisten C# Coding-Standards.
(Auch das Wort Drossel ist mit Doppel-t- geschrieben).
Ahhh, das ist so peinlich! Wie auch immer, danke für Ihre Antwort. Mein Programmierlehrer sagte mir, dass Sie in der neuesten Version von C# keine zusätzliche private Variable implementieren müssen ... aber entweder lag er falsch oder ich habe ihn falsch verstanden. – user3387666
Wenn Sie im Getter und Setter keine spezielle Logik benötigen, können Sie einfach 'public float MaxThrottle {get; einstellen; } 'was entspricht' private float _ # maxThrottle; public float MaxThrottle {get {return _ # maxThrottle; } set {_ # maxThrottle = Wert; }} '(Der Compiler erzeugt ein Backing-Feld' _ # maxThrottle' mit einem ansonsten ungültigen Namen, so dass Sie nur über die Eigenschaft darauf zugreifen können). Wenn Sie jedoch einen benutzerdefinierten Getter und Setter implementieren, müssen Sie auch das Hintergrundfeld implementieren. – CompuChip
- 1. Starten des aspx SOAP-Dienstprojekts in Visual Studio 2013 Ursachen StackOverflowException
- 2. skalare implizite Ursachen StackOverflowError
- 3. Umgehung einer StackOverflowException
- 4. StackOverflowException mit DataGridView
- 5. StackOverflowException verursacht durch Rekursion
- 6. StackOverflowException mit großen Listen
- 7. CefSharp RegisterJsObject throw StackOverflowException
- 8. StackOverflowException lädt XsltCompiledTransform
- 9. So drucken Stapelverfolgung von StackOverflowException
- 10. Warum wirft AsQueryable eine StackOverflowException?
- 11. Warum erhalte ich diese StackOverflowException?
- 12. Warum wirft Boolean keine StackOverflowException?
- 13. Getting StackOverflowException in einer Schleife
- 14. Hive Abfrage- Zwei Tabellen auf drei Verbindungsbedingungen mit OR-Operator
- 15. i in Javascript-Drei-Punkt bedeuten wollen Operator
- 16. Ursachen für Leistungsprobleme erkennen?
- 17. Routing Ursachen Null Eintrag
- 18. Reihenfolge von Ursachen filesort
- 19. StackOverflowException auch nach dem Erhöhen der Stapelgröße
- 20. Projekt Euler # 14 versagt mit StackOverflowException
- 21. StackOverFlowException - aber oviously KEINE Rekursion/Endlosschleife
- 22. Clang Link-Zeit-Optimierung mit ersetzten Operator neue Ursachen mismatched frei()/löschen in Valgrind
- 23. "$ translateProvider.useLocalStorage" Ursachen (nicht gefundenen Fehler)
- 24. Im Quellcode eingeben Ursachen whitespace
- 25. C# - Powershell AddPSSnapin Ursachen Fehler
- 26. C# - Powershell AddPSSnapin Ursachen Fehler
- 27. glänzend Ursachen RStudio zum Absturz
- 28. Zu viele Attributverweiswarnungen. Mögliche Ursachen?
- 29. Kerberos, impersonate Ursachen 500 Fehler
- 30. Warum Mitglieder Referenzart ursachen implizit deklariert Kopie Zuweisungsoperator
Ihr Setter weist die Eigenschaft maxThrotle zu. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Dies führt Ihren Setter, der die Eigenschaft maxThrotle zuweist. Womit dein Setter die Eigenschaft maxThrotle zuweist ... Kaboom! –
Ihr Getter liest die Eigenschaft maxThrotle. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Welches führt Ihren Getter aus, der die Eigenschaft maxThrotle liest. Was .. Kaboom! –
Sie wiederholen sich Hans. Alt werden? ;) –