c#-3.0 - () => 在 C# 中是什么意思?

标签 c#-3.0

我一直在阅读 Moq 的源代码我遇到了以下单元测试:

Assert.Throws<ArgumentOutOfRangeException>(() => Times.AtLeast(0));

对于我的生活,我不记得 () => 实际上做了什么。我认为这与匿名方法或 lambdas 有关。而且我确定我知道它是做什么的,我现在想不起来了……

更糟糕的是...... google isn't being much helpneither is stackoverflow

有人可以给我一个非常菜的问题的快速答案吗?

最佳答案

()=> 是一个空的 lambda 表达式。它代表一个传递给 assert.Throws 的匿名函数,并在该函数内部的某处被调用。

void DoThisTwice(Action a) { 
    a();
    a();
}
Action printHello = () => Console.Write("Hello ");
DoThisTwice(printHello);

// prints "Hello Hello "

关于c#-3.0 - () => 在 C# 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1216004/

相关文章:

algorithm - 如何找到数据的周期性?

c# - 如何动态分配集合中的属性

c# - 在将 "this"参数命名为 C# 中的扩展方法时,您更喜欢哪种成语(如果有),为什么?

linq-to-sql - 区分大小写的 C# LINQ 问题

.net - 代表出生日期

c#-3.0 - ReportViewer:使用页面宽度缩放模式在打印布局中显示报告

c# - 如何使用只读属性通知 UI 更改?

C++ strcpy(Struct.Property, "VALUE") 在 C# 中使用?

c# - 通过 COM 从 Delphi 触发 .NET DLL 中的事件的问题

c# - 多线程中的 For 循环边界