tengo que siguiente código en VS2008 .NET 3.5 utilizando Windows Forms:¿Por qué se requiere un molde para la resta de bytes en C#?
byte percent = 70;
byte zero = 0;
Bitmap copy = (Bitmap)image1.Clone();
...
Color oColor = copy.GetPixel(x, y);
byte oR = (byte)(oColor.R - percent < zero ? zero : oColor.R - percent);
Cuando salgo del "(byte)
" fuera de la última línea de código, me sale un error de compilación diciendo que "No se puede convertir implícitamente el tipo 'int
' a 'byte
'. " Si todo es de tipo byte
y byte
es un tipo entero ... entonces ¿por qué necesito tener el molde?
Eric Lippert dice: "No considero los bytes como" números "; los considero como patrones de bits que podrían interpretarse_ como números, o caracteres, o colores o lo que sea. haciendo matemática sobre ellos y tratándolos como números, entonces tiene sentido mover el resultado a un tipo de datos que se interpreta más comúnmente como un número ". Ver http://stackoverflow.com/questions/941584/byte-byte-int-why-c. – Brian
Ustedes se dan cuenta que marcó esto como un duplicado, aunque se les preguntó * antes * el enlace "ya tiene una respuesta aquí". –
Demonios, ahora incluso dice "preguntado antes" aunque la otra pregunta fue hecha tres años después. –