Implementation difference in C#
本问题已经有最佳答案,请猛点这里访问。
我是C的学习者。你能解释一下分配A和分配A之间的区别吗?集合到接口。
我看到一些例子,初始化
1 |
但有些人把集合分配给接口
1 |
我们什么时候需要晚一点的?如果你能提供一个例子的话,正反两面都能很好地教育我。
通常,您应该选择在公共接口中公开
1 2 3 4 5 | public IList<int> GetSomeInts() { List<int> result = new List<int>() { 12, 123, 211, 200 }; return result; } |
通过这种方式,可以将公共接口与方法内部实际使用的具体类型分离开来。例如,您可以选择使用
列表是一个具体的实现。如果你是唯一的消费者,这是最合适的。当多个消费者访问时,iList提供了灵活性。因此,如果实现发生变化,其他消费者就不会改变任何东西。
使用IList时,您只能访问IList中的方法,而不能访问仅在列表中(而不是在IList中)的方法。