两者有什么区别?
Invoke((MethodInvoker) delegate {
checkedListBox1.Items.RemoveAt(i);
checkedListBox1.Items.Insert(i, temp + validity);
checkedListBox1.Update();
}
);
与
Invoke((MethodInvoker)
(
() =>
{
checkedListBox1.Items.RemoveAt(i);
checkedListBox1.Items.Insert(i, temp + validity);
checkedListBox1.Update();
}
)
);
有什么理由要使用lambda表达式吗?
(MethodInvoker)
是否将委托(delegate)和lambda转换为MethodInvoker类型?哪种表达式不需要(MethodInvoker)
强制转换? 最佳答案
1)lambda表达式更短更清晰
2)是的
3)您可以使用Action类型,如下所示:
Invoke(new Action(
() =>
{
checkedListBox1.Items.RemoveAt(i);
checkedListBox1.Items.Insert(i, temp + validity);
checkedListBox1.Update();
}
)
);