Jon*_*eet 12
我个人使用IList<T>,而不是List<T>,但随后使用LINQ( Select,Where等),而不是特定列表的方法.
铸造于List<T>消除多使用点的IList<T>摆在首位-实际上使它更加危险,因为实施可能是一些其他的不是List<T>在执行时间.
对于列表,您可以继续对接口进行编程,并使用LINQ过滤对象.您甚至可以使用IEnumerable<T>对象层次结构中更高的值.
但更一般地说,如果您的API的消费者需要调用特定方法,您可能没有选择适当的接口来公开.