gpt4 book ai didi

c# - 如何在 lambda 表达式中放入两个条件

转载 作者:行者123 更新时间:2023-11-30 16:32:57 25 4
gpt4 key购买 nike

我有两个Repeater Control

var list = from i in DA.obm_view_studentLists where i.FranchiseID == FranchiseID && i.ExamDate == DateTime.Parse(this.pallavi.DropDownSelectedValue) select i;

我想从数据库中一次性获得结果。

this._approvedStudentList.DataSource = list.Select(e => e.ApprovedByOBM == true);

this._pendingStudentList.DataSource = list.Select(e => e.ApprovedByOBM == false);

我在 pendingStudentList Repeater 中有一个标签字段 (UnPaidTotal),我想在其中显示待定总费用

我试过但失败了

UnPaidTotal = string.Format("{0:c}", list.Select(e => e.ApprovedByOBM == true).Sum(j => j.CourseFee));

最佳答案

评估 list 以一次获得所有结果——只需将 from i in... select i 包裹在括号中并添加 .ToList() 最后。

设置DataSource时,将list.Select(...替换为list.Where(...

获取未付总额时同样如此——使用 Where 而不是 Select


您不需要从数据库返回两个集合,因为您是根据 bool 值划分结果。您需要所有查询结果,因为无论每个结果属于一个集合还是另一个集合,您都可以在内存中拆分它们。

Select 用于对集合执行转换,而 Where 是过滤器。选择的一个示例是 manufacturerList = carCollection.Select(car => car.Manufacturer);。这需要一个汽车集合,并通过从集合的每个成员中仅选择该属性,将其转换为可枚举的制造商。

关于c# - 如何在 lambda 表达式中放入两个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3648552/

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