2 Stimmen

Warum zu einem Byte casten und dann sofort zurück zu einem Integer?

Ich habe diesen Code gefunden:

this.message.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))));

Warum nicht einfach das hier machen?

this.message.ForeColor = System.Drawing.Color.FromArgb(64, 64, 64);

Habe es im Designer-Code in Visual Studio gefunden.

1voto

paxdiablo Punkte 809679

Ich vermute, dass es einfach ist, alle Werte in einen bestimmten Bereich zu zwingen, wie z. B. 0..255, unabhängig von ihren ursprünglichen Werten.

Nicht notwendig, wenn Sie die Konstanten steuern (wie eine fest codierte 64), aber es könnte sein, dass dieser Code dynamisch aus Daten generiert wird, die nicht so kontrolliert sind (wie ein Texteingabefeld in einem Dialog oder wenn der Designer Ihnen Werte wie 9999 eingeben lässt, aber sie in einen gültigen Bereich zurückzwängen möchte).

0voto

Mark Alicz Punkte 377

Nur raten wäre, dass sie wollten, dass die Anwendung einen Fehler wirft, wenn eine Zahl größer als 255 hinzugefügt wird? Du kennst die wunderbaren Designerfehler..

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X