Почему не делегировать работу контравариантности с типами значений?

Этот фрагмент не скомпилирован в LINQPad.

void Main()
{
    (new[]{0,1,2,3}).Where(IsNull).Dump();
}

static bool IsNull(object arg) { return arg == null; }

Сообщение об ошибке компилятора:

Нет перегрузки для 'UserQuery.IsNull (object)' соответствует делегату 'System. Func '

Он работает для строкового массива, но не работает для int [] . Очевидно, это связано с боксом, но я хочу узнать подробности.

14
задан thorn̈ 6 October 2014 в 14:43
поделиться