这两个lambdas之间的区别?

时间:2011-09-26 22:40:16

标签: c# lambda

这两个似乎都做同样的事情。我想知道我应该使用哪一个,你更愿意阅读,更有效率,他们的差异,等等......

Lambda#1

synchronizationContext.Post(m => log.AppendText(message), null);

Lambda#2

synchronizationContext.Post(m => log.AppendText(m), message);

我唯一担心的是,第二个,即使它可能看起来更容易阅读,是不是他们的装箱和拆箱因为Post方法需要一个对象而消息是一个字符串?

感谢。

1 个答案:

答案 0 :(得分:1)

字符串存储在托管堆中,因此不需要将它们装箱/取消装箱。

因为你没有做任何额外的演员(从对象到字符串),我会选择这个:

synchronizationContext.Post(m => log.AppendText(message), null);