private Account LinqSearchBreakDown2(List <Account> list, string name, int number) { var l = new Lambda1Environment() { CapturedName = name, CapturedNumber = number }; var predicate = new Func <Account, bool>(l.Evaluate); return(list.FirstOrDefault(predicate)); }
private Account LinqSearchBreakDown3(List <Account> list, string name, int number) { var l = new Lambda1Environment() { CapturedName = name, CapturedNumber = number }; var predicate = new Func <Account, bool>(l.Evaluate); IEnumerable <Account> enumerable = list; IEnumerator <Account> enumerator = enumerable.GetEnumerator(); while (enumerator.MoveNext()) { if (predicate(enumerator.Current)) { return(enumerator.Current); } } return(default(Account)); }