Почему для вычитания байтов в C# требуется приведение?

Это потому, что результат dotnet вычитания байта не помещается c-sharp в один байт:

byte - byte = (0..255) - (0..255) = -255..255

c#

.net

casting

integer

byte

2022-10-17T10:43:36+00:00