我们如何在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.