gpt4 book ai didi

c# - 在 C# 中的一行中创建和应用 lambda

转载 作者:行者123 更新时间:2023-11-30 13:50:28 25 4
gpt4 key购买 nike

我希望这不是一个愚蠢的问题,但是否有任何方法可以在 C# 中实现以下类型的事情?

int y = (x => x * x)(9);

我知道我可以做到:

delegate int Transformer(int x);
Transformer square = x => x * x;
int y = square(9);

但是有没有什么办法可以更简洁地做同样的事情呢?如果不是,是否有充分的理由不这样做?

最佳答案

因为 lambda 不与委托(delegate)类型相关联,所以在定义 lambda 时需要在左侧或右侧指定委托(delegate)类型。

这应该可以解决问题:

int result = new Transformer(x => x * x)(9);

同样的事情更简洁:

int x = 9;
int result = x * x;

关于c# - 在 C# 中的一行中创建和应用 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323717/

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