将介绍迭代器如何用于迭代存储在字典类型的集合中的对象,而不必处理Dictionaryltem对象。在DictionaiyAnimals文件夹中,可以找到接下来这个项目的代码。下面是集合类Animals:
public class Animals : DictionaryBase
{
public void Add(string newID, Animal newAnimal) =>
Dictionary.Add(newID, newAnimal);
public void Remove(string animallD) =>
Dictionary.Remove(animallD);
public Animal this[string animallD]
{
get { return (Animal)Dictionary[animallD]; }
set { Dictionary [animallD] *= value; }
}
}
可在这段代码中添加如下的简单迭代器,以便执行预期的操作:
public new IEnumerator GetEnumerator <)
{
foreach (object animal in Dictionary.Values)
yield return (Animal)animal;
}
现在可使用下面的代码来迭代集合中的Animal对象:
foreach (Animal myAnimal in animalCollection)
{
WriteLine($"New {myAnimal.ToString()} object added to 11 + $" custom collection, Name = {myAnimal - Name}");
}
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>