C#: IEnumerable, GetEnumerator, 请举个简单的例子!

标签 c# generics list dictionary

尝试创建一个超简单类来实现获取枚举器,但由于缺少简单/无法运行的示例而疯狂失败。我想要做的就是围绕数据结构创建一个包装器(在本例中是一个列表,但稍后我可能需要一个字典)并添加一些函数。

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.GetEnumerator 返回的枚举器:

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

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

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

关于C#: IEnumerable, GetEnumerator, 请举个简单的例子!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2860484/

相关文章:

python - 在列表中重新排序列表值的正确方法是什么?

c# - 您是否需要使用 RemoteWebDriver 运行 Selenium 服务器才能在 TFS 2017 vnext 构建中执行步骤 "Run Functional Tests"?

Java - 这个泛型类的正确签名是什么?

python - 如何生成连续数字的列表?

java - 在 Java 中混合嵌套类型参数和通配符

c# - 如何为另一个泛型类使用泛型参数类型?

c# - 如何在不使用迭代器的情况下从列表中获取数据# C#

c# - 模板缓冲区读/写掩码

c# - 从 SkyDrive 文件夹中获取文件列表 (Windows Phone)

c# - ASP.NET HttpModule - 保证前后处理程序代码的执行?