【发布时间】:2013-07-14 02:55:51
【问题描述】:
我从另一篇文章 (C# How to stop animated gif from continually looping) 中找到了这种语法,但我似乎无法理解。来自
的s和e的含义或目的是什么System.Drawing.ImageAnimator.Animate(txImage.Image, (s,e) => OnFrameChanged(s,e));
// start
System.Drawing.ImageAnimator.Animate(txImage.Image, (s,e) => OnFrameChanged(s,e));
// stop
System.Drawing.ImageAnimator.StopAnimate(txImage.Image, (s, e) => OnFrameChanged(s, e));
private void OnFrameChanged(object sender, EventArgs e)
{
// frame change
}
或者任何人都可以简单地解释一下。很抱歉我很愚蠢,但我对编程真的很陌生,但我真的很想学习谢谢
【问题讨论】:
-
这就是所谓的 lambda 表达式。在这里,它是不必要的。
-
你应该搜索术语
Lambda Expression in .NET,s和e是对应delegate封装的方法的参数,它们可以任意命名,例如@ 987654327@ 代替s和ev代替e,...=>之后的所有东西都是方法的代码部分。 -
如果你熟悉c#2.0中的
Anonymous Method,你会很容易理解Lambda Expression。如果您不了解这两个主题,您可以在 MSDN 中同时参考它们 -
tnx 的信息我真的很感激 :)
标签: c# winforms visual-studio-2010 lambda