我一直被告知对接口的编程更好,所以我的方法上的参数我将设置为IList< T>而不是List< T> ..
但这意味着我必须转向List< T>只是为了使用一些方法,我想到的就是Find.
为什么是这样?我应该继续针对接口进行编程,还是继续进行转换或还原?
我有点困惑为什么在IList< T>上找不到Find(例如)哪个列表< T>继承自.
解决方法
我个人会使用IList< T>而不是List< T>,然后使用LINQ(Select,Where etc)而不是List特定的方法.
转换为列表< T>消除了使用IList< T>的大部分要点.首先 – 实际上使它更危险,因为实现可能不是List< T>.在执行时.