Javaだと、
List: インターフェース、
ArrayList : List の実装クラスの一つ、
List のスーパーインターフェースとして Iterator があるけど、

C# だと、以下が対応するような感じという理解であってますか?
ArrayList → C# での List (具象クラス)
List → IList (インターフェース)
Iterator → IEnumerable (インターフェース)

C# の場合、IEnumerable は Linq で使える extention method とかも定義されているので、
Java の Iterator とは若干違いますが・・・