Почему добавление требует отливки, но вычитание работает без литья? Смотрите код ниже, чтобы понять, что я прошу
public enum Stuff
{
A = 1,
B = 2,
C = 3
}
var resultSub = Stuff.A - Stuff.B; // Compiles
var resultAdd = Stuff.A + Stuff.B; // Does not compile
var resultAdd2 = (int)Stuff.A + Stuff.B; // Compiles
Примечание: для сложения и вычитания не имеет значения, вне зависимости от результата (из перечисления) или нет во всех трех приведенных выше примерах.