C#:IEnumerable,GetEnumerator,一个简单,简单的例子! [英] C#: IEnumerable, GetEnumerator, a simple, simple example please!

查看:585
本文介绍了C#:IEnumerable,GetEnumerator,一个简单,简单的例子!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试创建一个实现枚举器的uebersimple类,但由于缺少简单/无功能的示例而疯狂失败。所有我想做的是在数据结构周围创建一个包装(在这种情况下是一个列表,但是我可能需要一个字典),并添加一些功能。

Trying to create an uebersimple class that implements get enumerator, but failing madly due to lack of simple / non-functioning examples out there. All I want to do is create a wrapper around a data structure (in this case a list, but I might need a dictionary later) and add some functions.

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
}

谢谢!

推荐答案

您可以简单地返回List< T> .GetEnumerator:

You can simply return the enumerator returned by List<T>.GetEnumerator:

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

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

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

这篇关于C#:IEnumerable,GetEnumerator,一个简单,简单的例子!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆