c# – 为什么IList不提供List的所有方法?我应该使用哪个?

我一直被告知对接口的编程更好,所以我的方法上的参数我将设置为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>.在执行时.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString(&quot;x2&quot;));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable&lt;Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include &quot;WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...