2

float型のコレクションを引数として取るメソッドがあります。ほとんどの場合、aReadOnlyCollection<float>はメソッドに渡されますが、Listなどのさまざまなタイプのコレクションも渡される場合があります。

パラメータに最適なタイプは何ですか?使用する必要があります:public void MyMethod(Collection<float>)?それは良い習慣ですか?

4

1 に答える 1

6

コレクションで何をしているかによります。

列挙したいだけの場合は、を渡してIEnumerable<float>ください。アイテムも追加/削除する必要がある場合は、を使用してICollection<float>ください。インデックスでアクセスする必要がある場合は、を使用してIList<float>ください。

さまざまなタイプの説明から、アイテムを追加する必要はないので、問題ないIEnumerable<float>はずです。

一般に、可能な限り最も一般的なタイプを使用します(実装を介したインターフェース、メソッドが多いものよりも少ないもの)。リスコフの置換原則( SOLID設計原則のL )を参照してください。

于 2012-10-08T14:05:13.360 に答える