在List<T>中方法FindAll方法,反编译后的代码如下:
public List<T> FindAll(Predicate<T> match) { if (match == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match); } List<T> list = new List<T>(); for (int i = 0; i < this._size; i++) { if (match(this._items[i])) { list.Add(this._items[i]); } } return list; }
使用方法如下:
List<string> l = new List<string>();
l.Add("abc");
l.Add("abcdsdfsdf");
l.Add("adfabcsdfsdf");
List<string> l1 = l.FindAll(delegate(string s) { return s.IndexOf("abc")>0; });