加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 优化搜索并返回列表

发布时间:2020-12-16 00:22:53 所属栏目:百科 来源:网络整理
导读:我正在使用一个函数来排序和返回一个列表. return Snacks; 在返回列表之前,我想执行一个额外的选择.只选择具有特定日期的记录,例如. 25/3月/ 2013. 因此,该列表返回5条记录.通过缩小到仅选择2013年3月25日.我将获得我需要的唯一3条记录. 我想用来优化搜索的
我正在使用一个函数来排序和返回一个列表.

return Snacks;

在返回列表之前,我想执行一个额外的选择.只选择具有特定日期的记录,例如. 25/3月/ 2013.
因此,该列表返回5条记录.通过缩小到仅选择2013年3月25日.我将获得我需要的唯一3条记录.

我想用来优化搜索的记录中的列是’ActivityDate’所以我该如何缩小它?

是这样的吗?

Snacks.SelectMany(//add date);

要么

Snacks.Select(where activityDate = ??);
    return Snacks;

P.S我意识到还有其他方法可以做到这一点,我应该在函数的初始搜索中进行,但我需要在返回列表之前进行.所以任何建议将不胜感激,谢谢

编辑
感谢大家的回复,但我不是要在列表中添加更多记录.我已经在列表中有5条记录,我现在要归结为3.通过这样做我想只选择列表中的日期== filterDate的记录.

当我尝试尝试.ToList时,他们都添加了我需要的3条记录,但其他2条记录已经存在于之前的搜索中.

解决方法

更新:为了回应juharr的评论并宣传为SO提供了很好的内容,让我更新我的答案.

可以使用where方法过滤集合.其中method是一个存在于System.Linq命名空间中的扩展方法,因此请确保将其包含在下面建议代码的代码文件中(例如,使用System.Linq;).

您可以将过滤后的集合分配给变量或直接返回.

var filteredSnacks = Snacks.Where(x=>x.ActivityDate == filterDate).ToList();
return filteredSnacks;
// or simple do a 
return Snacks.Where(x=>x.ActivityDate == filterDate).ToList();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读