我想以一个(或多个)整数间隔打印一个百分比值。下面的代码描述object.ProgressChanged为一个EventHandler<EventArgs>和maxPercent作为一个全局int变量。
object.ProgressChanged += (sender, args) => (
if (maxPercent < ((int) args.ProgressPercentage)) {
maxPercent = (int) args.ProgressPercentage;
Console.WriteLine(maxPercent + "%");
}
)
Run Code Online (Sandbox Code Playgroud)
我可以通过这样做轻松解决这个问题:
object.ProgressChanged += (sender, args) => aFunction(args);
Run Code Online (Sandbox Code Playgroud)
whereaFunction包含=>第一段代码中运算符之后的所有相同代码。
如果可能的话,我正在寻找一种更优雅的方法来解决这个问题。有小费吗?
object.ProgressChanged += (sender, args) => {
maxPercent = Math.Min(maxPercent, (int)args.ProgressPercentage);
};
Run Code Online (Sandbox Code Playgroud)
正如杰夫指出的那样,您应该{ }用于多行 lambda。
| 归档时间: |
|
| 查看次数: |
7245 次 |
| 最近记录: |