|
|
1
17
我相信您的第一个示例实际上创建了一个匿名函数,该函数能够接受许多不同的签名,其主体是单个语句
|
|
|
2
8
阐述Tvanfosson的答案;C 3.0语言规范(_7.14)中描述了这种行为:
我想:
相当于:
也不会编译。正如DanielPlaisted所说()明确地说没有任何参数。 如果有相当于代表的人,可能是:
它不是很漂亮,我怀疑它不符合lambda表达式的精神。 |
|
|
3
5
正如其他人所说,不,不能跳过将参数声明为lambda。但是,为了干净,我建议给他们起个名字,比如uuu。例如
从本质上来说,你不会忽视它们,但你表明你不在乎它们是什么,也不会使用它们。 |
|
|
4
2
()=>…语法显式指定lambda不接受任何参数。也许可以对语言进行修改,使()=>真正意味着“为我推断此lambda的参数”与委托语法的方式相同,但这会使语言更加复杂。在设计新的语言功能时, you start at minus 100 我不认为这个能通过测试。 可能还有更多的技术原因导致这项工作难以实施(这可能更符合您的要求,但我怀疑是否有技术原因促成了这项决定)。 |
|
|
5
0
我想说它是强制使用lambda表达式的参数。 以您的第一个示例为例,您将如何与传入的值进行交互,它没有本地表示。 |
|
|
6
0
这个怎么样?
|
|
|
7
0
实际上,委托不指定任何参数,并且适合任何委托方法签名,因此在第一个构造中是允许的。 lambda表达式()=>…;特别声明了无参数委托,这与操作所需的签名相矛盾-具有单个参数的委托。 您可能需要使用以下选项之一。 如果您需要动作有一个参数,您可以通过下一种方式进行(“_u”是标识符名称的合法字符)。
或者您可能希望使用以下无参数操作:
|
|
|
Sergei · 删除数据框中多个列的列表中的某些元素 3 年前 |