コレクションと配列に関して

ベースのライブラリを作成する場合、メソッドでシーケンス(連続したデータ列)を返したり受け取ったりしたい場合、戻り値として配列とListのどちらをベースとすべきなのだろうか?コレクションの方が応用が利くと思うのでコレクションの方が良いのだろうか?


引数で受け取る部分は、面倒であるが2通り(複数受け取る場合は、もっと多い)用意すれば良いと思う。もし、共通の操作で実装可能であれば、オーバーロードを利用して、1つの実装を共有すれば良い。しかし、残念なのは、サイズを取得する操作が、配列は、.Lengthで、Listは、.Countなので、そういう操作が必要であれば共有できない。foreachやインデクシングであれば同じ書き方で書けるので共有可能だと思う。


標準ライブラリを調べていないが、その辺どうしているのだろう?あと、foreachで、Pythonで言うところのenumerate()、Rubyで言うところのeach_with_indexの機能がなかったのは若干ショック。あとコレクションや配列のスライシングの機能も欲しいが、できないのだろうか?