打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
List

刚开始接触.net2.0的时候,我是从pet shop4.0看起的。

确实pet shop4.0运用了很精湛的架构设计,也曾一度让我深深迷恋其中。

也是那个时候,我才开始认识IList<T>这个东东,也曾经唯IList<T>是从,非IList<T>不用。

渐渐地,问题来了,首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。

它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList<T>可以胜任。

不过,更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。这个时候IList<T>就爱莫能助了。

当我在抱怨的时候,同事说,或许另外的泛型类型支持排序等操作……这话提醒了我,果然,终于挖掘出沉寂多时的List<T>,同时让我深深自责,太固步自封了,怎么能“一叶在目不见泰山”呢?怎么能“关中窥豹”呢?怎么就不会“见一叶而知秋”呢?还有什么好成语可以形容?

List<T>.Find(Predicate<T> match)方法可以从集合数据中根据match返回目标结果。MSDN上这么说的:“Predicate 是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。当前 List 的元素被逐个传递给 Predicate 委托,并在 List 中向前移动,从第一个元素开始,到最后一个元素结束。找到匹配项时处理就会停止。”

还有List<T>.Exists (Predicate<T> match)方法:“确定 List 是否包含与指定谓词所定义的条件相匹配的元素。”

等等……好神奇的功能,立马把以前的代码翻出旧帐,统统换上新功能,哈哈~爽歪歪~~

示例如下:

string tmpFoodName = "大排";

List<TodayReportInfo> reportList = new List<TodayReportInfo>();

TodayReportInfo tmp = reportList.Find(
delegate(TodayReportInfo todayReportInfo) { return todayReportInfo.FoodName == tmpFoodName; }
);

查出来的tmp就是reportList这个集合中FoodName是“大排”的TodayReportInfo对象了。没有,则为null。

Exists的例子就不列举了,以上代码摘自前不久完成的、给公司内部同事使用的“订饭系统”!

再汗自己一下,嘎灵光的方法居然以在才晓得,唉~~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
List<T>.FindIndex 方法 (Predicate<T>)
Predicate与filter
IList 接口与List的区别是什么?
C# List<T>用法
延迟执行与不可变,系统讲解JavaStream数据处理
Java进阶 之 Stream流
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服