2012-10-16 22 views
2

發現這個代碼:爲什麼投射到一個字節然後立即回到一個int?

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

爲什麼不這樣做呢?

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

在Visual Studio設計代碼中發現它。

+2

設計師的代碼是不是要修改。它是自動創建的,它就像這樣充滿了有趣的語法;-) – Cameron

+2

也許編碼器是一個老的Lisp程序員。 –

回答

1

我懷疑只是強制所有的值進入指定的範圍,如0..255,不管它們的初始值如何。

不必要的,如果你是在控制的常量(如硬編碼64),但它可能是這個代碼是從數據動態生成這樣控制(如在對話框中的文本輸入框,或者如果設計者讓你輸入9999這樣的值,但是想強迫它們回到有效範圍)。

0

只有猜測是他們希望應用程序在添加大於255的數字時拋出錯誤?你知道美妙的設計師錯誤..

相關問題