我是C#编程的新手,我知道
只要调用videoDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine(args.ProgressPercentage);
,Console.WriteLine
就会运行videoDownloader.DownloadProgressChanged
。但我不知道如何在该功能中使用多行。
我希望能够有类似的东西:
videoDownloader.DownloadProgressChanged += (sender, args)
{
if ((args.ProgressPercentage % 1) == 0)
{
Console.WriteLine(args.ProgressPercentage);
}
}
此外,有人可以向我解释这是什么(以及它叫什么)以及如何/何时使用这种东西?
答案 0 :(得分:0)
你只是错过了箭头操作符(=>
),让C#编译器知道(sender, args)
后面的内容是函数体。
您还需要在最后一个大括号后添加分号以结束复合赋值(+=
)语句。
正确版本:
videoDownloader.DownloadProgressChanged += (sender, args) => // note the arrow here
{
if ((args.ProgressPercentage % 1) == 0)
{
Console.WriteLine(args.ProgressPercentage);
}
}; // note the semicolon here
要详细了解匿名函数,请访问相关的Microsoft文档主题:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/anonymous-functions