public T Find(CompareFunc_2 match, object obj) { for (int i = 0; i < size; i++) { if (match(buffer[i], obj)) { return(buffer[i]); } } return(default(T)); }
/// <summary> /// /// </summary> /// <param name="match"></param> /// <param name="obj">值类型装换成object有装箱操作,有一定的性能消耗,防止大量的装箱的出现</param> /// <param name="list"></param> public void FindAll(CompareFunc_2 match, object obj, CSBetterList <T> list) { list.Clear(); for (int i = 0; i < size; i++) { if (match(buffer[i], obj)) { list.Add(buffer[i]); } } }