为什么要转换为一个字节然后立即返回到int?

时间:2012-10-16 02:30:31

标签: c# casting colors refactoring rgb

找到此代码:

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 个答案:

答案 0 :(得分:1)

我怀疑只是将所有值强制到指定的范围内,例如0..255,无论其初始值如何。

如果您正在控制常量(如硬编码64),则不必要,但可能是此代码是由控制的数据动态生成的(如对话框中的文本输入框,或者如果设计器允许您输入值9999但是想要将它们强制转换回有效范围)。

答案 1 :(得分:0)

只有猜测是他们希望应用程序在添加大于255的数字时抛出错误?你知道精彩的设计师错误..