这是一种家庭作业,所以有人可以指导我(而不是回答)如何组合这两个 LINQ 查询。这是问题通过使用 LINQ 将 List 映射到一个匿名对象列表来更新 PayrollSytem,其中每个对象都包含一个员工的姓名和收入。当遇到 BasePlusCommissionEmployee 时,在不修改原始 BasePlusCommissionEmployee 对象的情况下,将基本工资提高 10%。显示姓名和收入。到目前为止我有这个var model1 = employees.OfType<BasePlusCommissionEmployee>().Select(x => new { x.FirstName, x.LastName, Increased_salary=x.BaseSalary*=1.10M });var model = employees.Select(x => new { x.FirstName, x.LastName, earning = x.Earnings() });foreach (var item in model) { Console.WriteLine(item); }类的UML图是所以查询单独工作正常,但有什么方法可以使它成为一个查询。如果需要任何其他代码,我会提供。
1 回答
慕容708150
TA贡献1831条经验 获得超4个赞
您可以使用匿名类中的三元运算符简单地检查员工是否是基础加佣金员工。
employees.Select(x => new {
FirstName = x.FirstName,
LastName = x.LastName,
Salary = x is BasePlusCommissionEmployee ? (x as BasePlusCommissionEmployee).BaseSalary * 1.1M : x.Earnings()
}).ToList();
- 1 回答
- 0 关注
- 59 浏览
添加回答
举报
0/150
提交
取消