Linq 中的三元运算符

2023-12-02

var result = from payroll in currentMonthPayroll
    select new SalaryDifference
    {
        PreviousMonthSalary = previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault() == null ?
        default(decimal) : previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault().Salary,
    };

有没有办法不重复previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault()选择的逻辑Salary value?

I tried:

previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId)
    .FirstOrDefault().Salary ?? default(decimal);

But, if previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault()为 null,则抛出异常。


您可以使用Enumerable.DefaultIfEmpty

previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId)
                    .DefaultIfEmpty(yourDefaultObject)
                    .First();

Where yourDefaultObject是一个默认工资为的对象default(decimal).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linq 中的三元运算符 的相关文章

  • 进程何时获得 SIGABRT(信号 6)?

    C 中进程获得 SIGABRT 的场景有哪些 该信号是否始终来自进程内部 或者该信号可以从一个进程发送到另一个进程吗 有没有办法识别哪个进程正在发送该信号 abort 向调用进程发送SIGABRT信号 就是这样abort 基本上有效 abo
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • C# 中的接口继承

    我试图解决我在编写应用程序时遇到的相当大的 对我来说 问题 请看这个 为了简单起见 我将尝试缩短代码 我有一个名为的根接口IRepository
  • 显示异常时的自定义错误消息:从客户端检测到潜在危险的 Request.Form 值

    我在我的 Web 应用程序中使用 ASP NET 的登录控件 当发生此异常时 我想在标签上显示一种有趣的错误类型System Web HttpRequestValidationException A potentially dangerou
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • Azure 事件中心 - 按顺序接收事件

    我使用下面的代码从 Azure Event Hub 接收事件 https learn microsoft com en us azure event hubs event hubs dotnet framework getstarted s
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没

随机推荐

  • jquery 数据表插件似乎无法正确对带有链接的列进行排序

    我有一个纯文本列 排序工作正常 但当我将列数据更改为 HTML 常规链接时 排序看起来相当随机且损坏 我在网站上找不到有关此问题的任何其他文档 http www datatables net usage features 有什么建议么 使用
  • minikube 的 ingress 在 Mac 和 Ubuntu 上的工作方式不同。何时将 etc/hosts 设置为 127.0.0.1 与“minikube ip”?

    我有一个可以在多种环境下运行的简单入口文件 但要访问它 它的行为会有所不同 具体取决于我是在 Mac 还是 Ubuntu 机器上运行 minikube 集群 具体来说 对于我的 Mac 我必须添加以下条目 127 0 0 1 my kube
  • 如何插入长字符串oracle clob或blob

    如何插入很长的文本100000
  • 如何在 Pandas 中创建带有总计(利润)的数据透视表?

    例如 我有一个非常简单的数据框 values pd Series i for i in range 5 rows pd Series a b a a b columns pd date range 20130101 periods 5 df
  • 如何在 Flutter 中禁用 iOS 辅助功能设置设置的粗体文本?

    我知道我不应该禁用设备上设置的任何文本和粗体设置 但我这样做是有原因的 我通过在全局级别上将 textScaleFactor 设置为 1 来禁用文本大小 但这并不能避免用户设置粗体文本选项 该选项也会更改文本的大小 我如何覆盖该功能 以便即
  • 如何从txt中删除行?

    我的意思是 我想从 Android 上的文本中删除行 我怎样才能删除 我不想阅读一个文本并通过删除行创建另一个文本 我想从现有的 txt 中删除行 谢谢 这是一个非常棘手的问题 尽管它看起来微不足道 如果行长度可变 也许您唯一的选择是逐行读
  • 盖茨比 4 + Netlify

    由于以下错误 无法在 Netlify 上运行 gatsby 4 4 07 59 PM success run queries in workers 158 327s 621 621 3 92 s 4 16 57 PM error UNHAN
  • 如何在Android中从开火中检索聊天记录

    我有一个聊天应用程序 我想在其中检索两个用户之间的聊天历史记录 我有一个用于检索聊天消息的节 那就是
  • 无效的程序计数器值:0

    我目前正在 MIPS 处理器下使用汇编语言 我现在在 使用 MARS 模拟器 由于未知的原因 我每次运行后都会收到以下错误消息 Go 运行 try s 错误 无效的程序计数器值 0 Go 执行因错误而终止 我收到此错误消息 与我正在使用的代
  • 我的 VS CODE 扩展代码运行器无法正常工作

    您好 我的问题是 在我的 Visual Studio 代码中 我的代码运行器扩展不提供任何输出 我看过很多教程 并完成了所有工作 研究 下载 Node js 并将文件保存为 JavaScript 文件并验证路径 我输入了 console l
  • 我应该将 JavaScript 放在哪里 - 页面还是外部文件?

    在 VS 2008 中 我有一个 ASP NET 内容页面 其中有一个母版页 我想为此页面添加用于客户端验证等的 JavaScript 函数 我的问题是 我应该将这些脚本单独编写吗 js文件 或嵌入到 aspx file 这种选择会影响网站
  • GCM 消息被覆盖

    我正在使用 GCM 推送通知向用户传递一些通知 我的问题是 当我发送一条消息时 如果发送多条消息 则效果很好 然后最后一条消息会显示给所有通知 我哪里做错了 private static void generateNotification
  • MonoTouch:从 Obj-C 到 MonoTouch

    我正在尝试从现有的 Objective C 项目调用 MonoTouch 程序集 我找到了这篇文章 在那里它很好地描述了这些步骤 但是当我尝试在 XCode 中构建项目时 我收到以下错误 错误 没有指定名称或路径的 SDK Develope
  • 模型关联问题

    因此 我正在实施一个向上 向下投票机制 并为其生成一个模型 到目前为止 我了解到一个视频 将投票的内容 有一个 vote count 而 vote count 属于视频 但是 我还想在 vote count 数据库中跟踪对视频投票的用户 这
  • 为什么我的 LINQ INSERTS 没有在 SQL Server CE 3.5 中保留?

    我将 LINQ to SQL 与 Sql Server Compact Edition 3 5 和 VS2008 一起使用 我有一个非常简单的表 Tokens 其中包含唯一标识符主键 TokenID 和其他两个可为空的字段 UsedBy 和
  • RecyclerView 在新行中显示以前在 EditText 中输入的值

    我正在创建一个 Android 应用程序 我在其中使用recyclerView并且 recyclerView 的行有editText 这是我的ReadingAdapter class public class ReadingAdapter
  • 如何在jdbc postgresql准备好的语句中多次使用相同的值

    有没有办法在 jdbc postgresql 驱动程序的准备语句中多次使用相同的变量 例如 我想使用以下语句 但每个问号具有相同的值 PreparedStatement ps pg prepareCall SELECT FROM mytab
  • xsl for-each:每 n 行添加代码块?

    我正在尝试将一些代表图像库的 xml 转换为 html 表 必须使用 html 而不是 css 来完成 如何添加换行符 tr 每六列左右有 xsl 吗 我有这个 tr
  • 旋转SCNNode相对局部坐标

    我正在尝试旋转节点SCNAction 但它相对于父级的坐标空间旋转 是否可以相对局部坐标系旋转节点 当然 您可以使用以下命令获取父级旋转轴的空间坐标转换向量 method 例如 此操作将绕局部 x 轴旋转 180 度 SCNAction r
  • Linq 中的三元运算符

    var result from payroll in currentMonthPayroll select new SalaryDifference PreviousMonthSalary previousMonthPayroll Wher