public interface IIterator
{
void First();
string Next();
bool IsDone();
string Current();
}
public class IWannaIterate : IIterator
{
private List<string> _list;
private int position;
public IWannaIterate(List<string> list)
{
Console.WriteLine("我要感谢IIterator,有了它我才可以迭代");
_list = list;
position = 0;
}
public void First()
{
position = 0;
}
public string Next()
{
return _list[position++];
}
public bool IsDone()
{
return position >= _list.Count;
}
public string Current()
{
return _list[position];
}
}
public interface IManagement
{
IIterator CreateIterator();
}
public class MyUserManagement : IManagement
{
private List<string> _users;
public MyUserManagement()
{
_users = new List<string>();
_users.Add("hello");
_users.Add("world");
_users.Add("nice");
}
public IIterator CreateIterator()
{
return new IWannaIterate(_users);
}
}
public class MyBookManagement : IManagement
{
private List<string> _books;
public MyBookManagement()
{
_books = new List<string>();
_books.Add("美丽世界");
_books.Add("你好吗");
}
public IIterator CreateIterator()
{
return new IWannaIterate(_books);
}
}
class Program
{
static void Main(string[] args)
{
IManagement magageA = new MyUserManagement();
IManagement manageB = new MyBookManagement();
IIterator iteratorA = magageA.CreateIterator();
IIterator iteratorB = manageB.CreateIterator();
Console.WriteLine("打印出的user列表");
PrintList(iteratorA);
Console.WriteLine();
Console.WriteLine("打印出book列表");
PrintList(iteratorB);
Console.ReadKey();
}
private static void PrintList(IIterator iterator)
{
while (!iterator.IsDone())
{
Console.WriteLine(iterator.Next());
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有