Dlaczego nie można przypisać metody anonimowej do zmiennej?

Mam następujący kod: Func<string, bool> comparer = delegate(string value) { return value != "0"; }; Jednak następujące elementy nie są kompilowane: var comparer = delegate(string value) { return value != "0"; }; Dlaczego kompilator nie może dowiedzieć się, że jest to plik...