foreach内部原理
来源:互联网 发布:网络音乐地址mp3格式 编辑:程序博客网 时间:2024/05/14 13:03
1,建一个Myclass类,实现IEnumerable接口,在该接口中有个GetEnumerator()方法,返回值类型为IEnumerato,在建一个辅佐类实现了IEnumerato接口
using System;
using System.Collections.Generic;using System.Linq;
using System.Text;
using System.Collections;
namespace _05_foreach
{
class Myclass :IEnumerable
{
/// <summary>
/// 枚举器
/// </summary>
public class MyClassEnum : IEnumerator
{
public Student[] students;
public MyClassEnum(Student[] students)
{
this.students = students;
}
private int position = -1;
public object Current
{
get { return students[position]; }
}
public bool MoveNext()
{
position++;
return position < students.Length;
}
public void Reset()
{
position = -1;
}
}
private Student[] _students;
public Myclass(Student[] stu)
{
this._students = stu;
}
public IEnumerator GetEnumerator()
{
return new MyClassEnum(_students);
}
}
}
--------------学生类---------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _05_foreach
{
class Student
{
public Student(string name)
{
this.name = name;
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
}
------------------------调用myclass类对student[] 进行排序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _05_foreach
{
class Program
{
static void Main(string[] args)
{
Student stu1 = new Student("张三");
Student stu2 = new Student("李四");
Student stu3 = new Student("王五");
Myclass my = new Myclass(new Student[] { stu1, stu2, stu3 });
foreach (Student item in my)
{
Console.WriteLine(item.Name);
}
Console.Read();
}
}
}
- foreach内部原理
- foreach适合在什么情况下使用+foreach的内部原理剖析
- foreach原理
- foreach原理
- foreach原理
- foreach内部变量的特性
- foreach遍历原理解析
- java forEach实现原理
- java forEach实现原理
- java forEach实现原理
- java forEach实现原理
- foreach的实现原理
- foreach的原理
- java forEach实现原理
- java forEach实现原理
- java foreach实现原理
- forEach实现原理
- java foreach原理探讨
- 轻松搞定面试中的二叉树题目
- php op code(php编译成运算码)查看工具opdump_0.0.2.
- 小Q系列故事——电梯里的爱情
- 2013年3月22日----Gallery与衍生BaseAdapter
- fedora下安装nvidia显卡驱动
- foreach内部原理
- ASP.NET实现匿名访问控制
- 仿QQ2013
- 第三次C语言程序设计作业
- autoload机制
- java二维数组
- 2013/3/24
- c语言第三课堂作业
- 在myeclipse+tomcat中出现org.apache.juli.logging.LogFactory这样的错误!!!