2

我有一个将浮点类型的集合作为参数的方法。大多数时候 aReadOnlyCollection<float>被传递给方法,但有时也会传递不同类型的集合,如 List 。

参数的最佳类型是什么?我应该使用:public void MyMethod(Collection<float>)?这是好习惯吗?

4

1 回答 1

6

这取决于您对集合所做的工作。

如果您只想枚举它,请传入IEnumerable<float>. 如果您还需要添加/删除项目,请使用ICollection<float>. 如果需要按索引访问,请使用IList<float>.

根据您对不同类型的描述,您不需要添加项目,所以IEnumerable<float>应该没问题。

一般来说,尽可能使用最通用的类​​型(接口优于实现,方法少的东西比方法多的东西)。请参阅Liskov 替换原则( SOLID设计原则中的 L )。

于 2012-10-08T14:05:13.360 回答