const является словом резервирования, означающим, что «переменная» не будет меняться, вместо этого ее значение не изменится, если вы попытаетесь изменить
const byte numbers = 5;
numbers = 6; // will fail
байт - это тип для хранения небольших чисел
Тогда
byte[] myNumbers = new byte[numbers];
создает массив чисел (5) позиций. Например, вы можете присвоить значения любой позиции в массиве, например так:
myNumbers[0] = 4; // position 1
myNumbers[1] = 45; // position 2
myNumbers[2] = 25; // position 3
myNumbers[3] = 0; // position 4
myNumbers[4] = 12; // position 5
myNumbers[5] = 3; // will fail, array just have 5 positions
[Изменить]
additionalNumbers=(byte) (coincidenceNumbers.Next(1,50));
Здесь совпадениеNumbers - это объект Random, поэтому он будет генерировать случайные числа. Его функция «Next» будет генерировать целое число. Он получает 2 параметра: минимальное значение и максимальное значение. Таким образом, здесь будет генерироваться случайное число от 1 до 50.
Целочисленное значение очень велико по сравнению с байтом, поэтому происходит "приведение" ... целое число будет преобразовано в байт.
Если целое число меньше 255, нет проблем, в противном случае вы потеряете точность
Если вы попытаетесь сделать это
int x = 500;
byte y = (byte) x;
Console.WriteLine(y); // 244, precision lost