(在决定使用List<T>还是使用ArrayList类时,记住List<T>在大多数情况下执行的更好并且是类型安全的。)
List.Find方法:
搜索与制定谓词所定义的条件相匹配的元素,并返回整个List中的第一个匹配元素。
public T Find(Predicate<T> match)
Predicate是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则返回该方法返回true。当前List的元素被逐个传递给Predicate委托,并在List中向前移动,从第一个元素开始,到最后一个元素结束。当找到匹配项时处理即停止。
当时我写的代码中有这么一句:
LSHTable pLSHTable = pLstLSHTable.Find(s => s.CBFBM.Equals(cbfbm));
其中LSHTable是一个List<T>类型,pLSHTable和pLstLSHTable都是List<T>的变量,Find(s => s.CBFBM.Equals(cbfbm))这句话的意思是,定义一个变量s(s代表的是pLstLSHTable中的元素,名字可以自己设定),在s中寻找与cbfbm的值相同的CBFBM,当找到这个值的时候停止查找并把值传给pLSHTable
这种方法方便快捷,直接在List中寻找相同的值,避免了反复循环去找值,提高了运行效率。