Закрытие по переменной Loop в C #

Изэто пост, мне сказали, что следующий раздел кода пострадал от "вопиющего акта закрытия над переменной цикла".

    foreach (Canidate canidate in allCanidates)
    {
        Thread newThread = new Thread(delegate()
        {
            BusyWait(canidate);
        });

        newThread.Start();
    }

Я переключил это на это:

foreach (Canidate canidate in allCanidates)
        {
            var can = canidate;
            Thread newThread = new Thread(delegate()
            {                 
                BusyWait(can);
            });

            newThread.Start();
        }

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

Ответы на вопрос(1)

Ваш ответ на вопрос