Почему я должен перенести этот код в бросок к короткому?

Я соглашаюсь, что Доступность является наилучшим путем вперед. Но если Вы захотите быстрый-и-грязный, то AppleScript будет работать также.

5
задан RCIX 10 October 2009 в 06:34
поделиться

2 ответа

Потому что нет оператора «короткое - короткое». Оба операнда повышаются до 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.

(И затем выполняется вычитание с плавающей запятой.)

11
ответ дан 13 December 2019 в 05:37
поделиться

Чтобы немного упростить задачу, вы можете просто написать такой метод расширения:

public static class NumericExtensions
{
    public static short Subtract(this short target, short value)
    {
        return (short)(target - value);
    }
}

Другие ответили на ваш вопрос ... :)

1
ответ дан 13 December 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: