我想在一个(或多个)整数间隔中打印一个百分比值。以下代码将object.ProgressChanged
描述为EventHandler<EventArgs>
,将maxPercent
描述为全局int
变量。
object.ProgressChanged += (sender, args) => (
if (maxPercent < ((int) args.ProgressPercentage)) {
maxPercent = (int) args.ProgressPercentage;
Console.WriteLine(maxPercent + "%");
}
)
我可以通过这样做轻松解决这个问题:
object.ProgressChanged += (sender, args) => aFunction(args);
其中aFunction
包含第一段代码中=>
运算符之后的所有相同代码。
我正在寻找一种更优雅的方法来解决这个问题,如果可能的话,在一行中。有什么提示吗?
答案 0 :(得分:1)
object.ProgressChanged += (sender, args) => {
maxPercent = Math.Min(maxPercent, (int)args.ProgressPercentage);
};
正如杰夫所指出的那样,你应该使用{ }
作为多行lambda。