c# - 如何使用 lambda 操作来分配实体的一个属性?
问题描述
我有这样的代码:
return new Match
{
Id = DataHelper.GetLong(dataReader, "MatchID") > 0 ?
DataHelper.GetLong(dataReader, "MatchID") :
DataHelper.GetLong(dataReader, "ID")
}
在这里,我想这样做以提高性能:
Id = DataHelper.GetLong(dataReader, "Match");
Id = Id > 0 ? Id : DataHelper.GetLong(dataReader, "ID")
如何在上面的代码中使用 lambda 表示法做到这一点?
编辑:我同意我们不能对这些代码使用 lambda 表示法。定义其他功能将是我的问题的正确方法。
解决方案
将您的条件登录提取到一个函数中,从对象初始化程序中调用该函数:
long GetMatchId(dataReader)
{
var id = DataHelper.GetLong(dataReader, "Match");
return (id > 0 ? id : DataHelper.GetLong(dataReader, "ID"));
}
return new Match {
Id = GetMatchId(dataReader)
};
推荐阅读
- c - 将堆作为参数传递
- docker - 我的 docker 镜像可以在没有网络配置的情况下连接到在同一台机器上运行的数据库吗?
- python - 如何检查在 PyQt5 中选中了哪些复选框
- flutter - Flutter AnimatedContainer 你能帮我吗?
- azure-active-directory - 无法从 Postman 访问受 AAD 保护的 Azure Appservice
- python - 使用 Flask jwt 扩展将令牌存储在浏览器 cookie 中
- c# - shapefile 边界框未通过 rest api geoserver 正确设置
- reactjs - Next.js 中的持久布局与 TypeScript 和 HOC
- python - SessionNotCreatedException 仅支持 Chrome 版本 80
- python-3.x - Python 字典 - 无效的语法