猿问

列表<T>或ILList<T>

列表<T>或ILList<T>

有人能解释我为什么要在C#中使用IList而不是List吗?

有关问题:为什么公开被认为是不好的?List<T>


哆啦的时光机
浏览 482回答 3
3回答

蛊毒传说

如果您是通过其他人将使用的库公开类,则通常希望通过接口而不是具体的实现公开该类。如果以后决定将类的实现更改为使用不同的具体类,这将有所帮助。在这种情况下,库的用户将不需要更新他们的代码,因为界面不会改变。如果您只是在内部使用它,您可能不太关心它,并且使用List<T>也许没问题。

侃侃无极

不那么受欢迎的答案是,程序员喜欢假装他们的软件将被全世界重复使用,而事实上,大多数项目将由少数人来维护,而不管与界面相关的声音多么美妙,你都在自欺欺人。建筑航天员..您将编写自己的IList将任何东西添加到.NET框架中的IList的可能性非常小,以至于它是为“最佳实践”保留的理论软糖。很明显,如果你在面试中被问到你用的是什么,你会说:IList,微笑,两人都为自己如此聪明而高兴。或者是面向公众的API,IList。希望你明白我的意思。
随时随地看视频慕课网APP
我要回答