C #проверить, назначена ли переменная

Я пытаюсь закодировать метод расширения Linq MinBy

public static class Extensions
{
    public static T MinBy<T>(this IEnumerable<T> source, Func<T,int> selector)
    {
        T min;
        int? minKey = null;
        foreach (var x in source)
        {
            var key = selector(x);
            if (minKey == null || key < minKey)
            {
                minKey = key;
                min = x;
            }
        }
        if (minKey == null)
        {
            throw new ArgumentException("source should not be empty");
        }
        return min;
    }
}

. Я думаю, что моя логика верна и читабельна. Но я получаю ошибку сборки

Use of unassigned local variable 'min'

Что я могу с этим поделать? Могу ли я проверить, назначена ли переменная?


Пояснение :Функция MinBy может ответить на следующий вопрос. У какого из чисел [-5, -2, 3] наименьший квадрат?

> new List<int>{-5,-2,3}.MinBy(x => x*x)
-2

Функция Min в.NET отвечает на другой вопрос (, который является наименьшим из квадратов )

> new List<int>{-5,-2,3}.Min(x => x*x)
4
-. 121 ---1030761- msysgit не работает с 1.7.11? После обновления msysgit до 1.7.11 я получаю следующую ошибку при вызове git -svn :$ git svn rebase Не удается найти Git/SVN/Editor.pm в @INC (@INC содержит :/lib /usr/lib/perl5/5.8.8/msys /usr/lib/...

После обновления msysgit до 1.7.11 я получаю следующую ошибку при вызове git -svn:

$ git svn rebase
Can't locate Git/SVN/Editor.pm in @INC (@INC contains: /lib 
/usr/lib/perl5/5.8.8/msys
/usr/lib/perl5/5.8.8
/usr/lib/perl5/site_perl/5.8.8/msys
/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl.) 
at C:\Program Files\Git/libexec/git-core\git-svn line 81.
BEGIN failed--compilation aborted at C:\Program Files\Git/libexec/git-core\git-svn line 81.

Кто-нибудь еще испытывает эти проблемы?

12
задан eckes 4 July 2012 в 09:32
поделиться