C#: IEnumerable、GetEnumerator、とても簡単な例をお願いします! 質問する

C#: IEnumerable、GetEnumerator、とても簡単な例をお願いします! 質問する

get enumerator を実装する非常にシンプルなクラスを作成しようとしていますが、単純な例や機能しない例がないため、うまくいきません。やりたいことは、データ構造 (この場合はリストですが、後で辞書が必要になる可能性があります) のラッパーを作成し、いくつかの関数を追加することだけです。

public class Album
{
    public readonly string Artist;
    public readonly string Title;
    public Album(string artist, string title)
    {
         Artist = artist;
         Title = title;
    } 
}
public class AlbumList
{
    private List<Album> Albums = new List<Album>;
    public Count { get { return Albums.Count; } }

    .....
    //Somehow GetEnumerator here to return Album
}

ありがとう!

ベストアンサー1

List<T>.GetEnumerator によって返された列挙子をそのまま返すこともできます。

public class AlbumList : IEnumerable<Album>
{
    // ...

    public IEnumerator<Album> GetEnumerator()
    {
        return this.albums.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}

おすすめ記事