using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<int> oyears = new List<int>();
oyears.Add(0);
oyears.Add(1);
oyears.Add(2);
oyears.Add(3);
oyears.Add(4);
Console.WriteLine("IEnumerator:");
Iterate0To2(oyears.GetEnumerator());
Console.WriteLine("IEnumerable:");
Iterate0To2((IEnumerable<int>)oyears);
Console.ReadLine();
}
static void Iterate0To2(IEnumerator<int> o)
{
while (o.MoveNext())
{
Console.WriteLine(o.Current.ToString());
if (Convert.ToInt16(o.Current) > 2)
{
Iterate2AndAbove(o);
}
}
}
static void Iterate2AndAbove(IEnumerator<int> o)
{
while (o.MoveNext())
{
Console.WriteLine(o.Current.ToString());
}
}
static void Iterate0To2(IEnumerable<int> o)
{
foreach (int i in o)
{
Console.WriteLine(i);
if (i > 2)
{
Iterate2AndAbove(o);
}
}
}
static void Iterate2AndAbove(IEnumerable<int> o)
{
foreach (int i in o)
{
Console.WriteLine(i);
}
}
}
}
Microsoft C# IEnumerable VS IEnumerator
最新推荐文章于 2024-08-02 19:07:49 发布