c# – 这个表达式有什么问题?不能将类型’int’隐式转换为’byte’

前端之家收集整理的这篇文章主要介绍了c# – 这个表达式有什么问题?不能将类型’int’隐式转换为’byte’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到错误“无法将类型’int’隐式转换为’byte’.显式转换存在(您是否丢失了一个转换)?不是byte byte = byte?我也注意到,当我删除rgb.Green它的作品
// rgb.Red,rgb.Green,rgb.Blue are byte types
// h,delta are double
rgb.Red = Convert.ToByte(Math.Round((h - 4) * delta)) + rgb.Green;

public struct RGBColor
{
    public byte Red { get; set; }
    public byte Green { get; set; }
    public byte Blue { get; set; }
}

解决方法

Doesn’t byte + byte = byte?

不,因为它可能会溢出(> 255),这就是为什么这个操作返回一个Int32.你可以将结果重新发送到byte,风险自负.

猜你在找的C#相关文章