Я соглашаюсь, что Доступность является наилучшим путем вперед. Но если Вы захотите быстрый-и-грязный, то AppleScript будет работать также.
Потому что нет оператора «короткое - короткое». Оба операнда повышаются до int.
Из раздела 7.7.5 спецификации C # 3:
Предопределенные операторы вычитания перечислены ниже. Операторы все вычтите y из x.
Целочисленное вычитание:
int operator - (int x, int y); оператор uint - (uint x, uint y); оператор long - (long x, long y); оператор ulong - (ulong x, ulong y);
В проверенном контексте, если разница вне диапазона типа результата, генерируется исключение System.OverflowException.
(И затем выполняется вычитание с плавающей запятой.)
Чтобы немного упростить задачу, вы можете просто написать такой метод расширения:
public static class NumericExtensions
{
public static short Subtract(this short target, short value)
{
return (short)(target - value);
}
}
Другие ответили на ваш вопрос ... :)