MethodInvoke делегат или лямбда-выражение

В чем разница между ними?

Invoke((MethodInvoker) delegate {
        checkedListBox1.Items.RemoveAt(i);
        checkedListBox1.Items.Insert(i, temp + validity);
        checkedListBox1.Update();
    }
);

vs

Invoke((MethodInvoker)
    (
        () => 
        {
            checkedListBox1.Items.RemoveAt(i);
            checkedListBox1.Items.Insert(i, temp + validity);
            checkedListBox1.Update();
        }
    )
);

Есть ли причина использовать лямбда-выражение? И является ли (MethodInvoker) приведение делегата и лямбды к типу MethodInvoker? Какое выражение не требует (MethodInvoker) приведения?

14
задан Jack 13 October 2011 в 07:03
поделиться