gpt4 book ai didi

c# - 解释 c# lambda 语法

转载 作者:太空狗 更新时间:2023-10-30 00:20:00 27 4
gpt4 key购买 nike

我对 Lambda 表达式有大致的了解,但不确定 () => 语法的含义。此代码似乎返回任务项列表,但我不确定它是如何执行的或如何解释它的含义。

谁能告诉我:

  1. () => 是什么意思?
  2. 似乎每个 new Task block 都是按顺序执行的?
 private DateTime? _myTime = null;
private DateTime? _theirTime = null;
private bool _okToProcess = true;

List<Task> myTasks = new List<Task>
{
new Task( () =>
{
_myTime = GetMyTime();
}),

new Task( () =>
{
_theirTime = GetTheirTime();
_okToProcess = _myTime > _theirTime;
}),

new Task(() =>
{
if (_okToProcess)
{
WriteToMyLogStep("We are processing");
}
else
{
WriteToMyLogStep("We are NOT processing");
}
});
};

最佳答案

() - 代表匿名方法接受的参数,

=> - 通常读取goes to 并指向使用这些参数(如果提供)的匿名方法主体。

在您的情况下,lamda 表达式与:

 delegate() {  _myTime = GetMyTime(); }

至于任务,它们只是添加到列表中,并没有被执行。它们将如何执行取决于您将来要如何执行它们。 (可能在同一个线程上的循环中,也可能在不同的线程上)。

关于c# - 解释 c# lambda 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15028902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com