微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

过滤器列表<>对象,而不使用C#2.0中的foreach循环

我们如何在List>中过滤对象在C#中?

解决方法

假设我们有一个列表< string>并且您只想要字符串的长度大于5的项目.

下面的代码将返回一个列表< string>结果:

List<string> myList = new List<string>();
myList.Add("hello");
myList.Add("world!");
myList.Add("one");
myList.Add("large!!");
List<string> resultList = myList.FindAll(delegate(string s) { return s.Length > 5; });

resultList将包含’world!’和“大!!”.
此示例使用anonymous method.它也可以写为:

List<string> myList = new List<string>();
// ..
List<string> resultList = myList.FindAll(OnlyLargerThanFive);

//..

private static bool OnlyLargerThanFive(string s)
{
  return s.Length > 5;
}

上述代表OnlyLargerThanFive也被称为Predicate.

原文地址:https://www.jb51.cc/csharp/95903.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐