c# - 在不使用 lambda 的情况下,是否有更短的方法在 C# 中声明 Func(委托)变量?
问题描述
到目前为止,我知道使用委托声明 Func 变量的两种不同方法。
技术1
var AddTen = new Func<int, int>(delegate (int input)
{
return input + 10;
});
技巧2
Func<int, int> AddTen = delegate (int input)
{
return input + 10;
};
在不使用 lambda 表达式的情况下,是否有更短的方法来定义 Func?Func<int, int>
即使看起来类型可以从delegate(int) { return int; }
解决方案
我知道的唯一方法是使用闭包。那么至少参数可以省略。
int input = 10;
Func<int> AddTen = delegate ()
{
return input + 10;
};
我不明白为什么不使用 lambda。在这种情况下,lambdas 是缩短它的选择方法。
推荐阅读
- javascript - 按下退格键或删除按钮时如何删除整个超链接?
- javascript - 使用 fs.readFileSync 读取文件并将其与包含多行的字符串模板进行比较时出错
- python - 无法解决在 python 中的 selenium webdriver 中导入密钥的错误
- mysql - 创建 Kafka Connect 连接器以监控 AWS MSK(Apache Kafka 托管流)集群中的 AWS RDS MySQL 数据库
- ios - 在 Swift 中更改控制台打印的颜色输出
- python - Python并行运行函数
- c# - 当 Azure 表有更多记录时,ExecuteQuerySegmentedAsync 不起作用
- javascript - 在 chrome 控制台 document.getElementByClassName 返回额外信息
- javascript - 在 Chrome 扩展程序中创建自定义标题失败
- java - 在 Spring Boot 中找不到符号模型