接口IEnumberable,IEnumberable
来源:互联网 发布:eclipse java se下载 编辑:程序博客网 时间:2024/05/22 00:25
1.IEnumberable和IEnumberable<T>
IEnumerable和IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单迭代,IEnumerable和IEnumerable<T>接口是.NET Framework中最基本的集合访问器。在面向对象的开发过程中,常常需要创建若干对象,并进行对象的操作和查询。
例如:
//Person类
namespace CA_LINQ
{
class Person:IEnumerable
{
public String Name;
public String Age;
private Person[] per;
public Person(String name,String age)
{
Name = name;
Age = age;
}
public Person(Person[] array)
{
//迭代对象
per = new Person[array.Length];
for (int i = 0; i < array.Length; i++)
{
per[i] = array[i];//数组赋值
}
}
#region IEnumerable 成员
public IEnumerator GetEnumerator()
{
return new PersonEnum(per);
}
#endregion
}
}
//实现foreach语句的PersonEnum类
namespace CA_LINQ
{
class PersonEnum: IEnumerator
{
public Person[] _per; //实现数组
int position = -1; //设置指针
public PersonEnum(Person[] list) //构造方法
{
_per = list;
}
public Boolean MoveNext() //实现向前移动
{
position ++;
return (position < _per.Length);
}
public void Reset() //位置重置
{
position = -1;
}
#region IEnumerator 成员
public object Current
{
get
{
try
{
return _per[position]; //返回对象
}
catch(IndexOutOfRangeException) //捕捉异常
{
throw new InvalidOperationException();
}
}
}
#endregion
}
}
//主类
namespace CA_LINQ
{
class Program
{
static void Main(string[] args)
{
Person[] MyPerson = new Person[2]//创建两个Person对象
{
new Person("陈湖","25"),
new Person("陈在下","24"),
};
Person personlist = new Person(MyPerson);
foreach (Person p in personlist)
{
Console.WriteLine("姓名:" + p.Name + ",年龄:" + p.Age);
}
Console.ReadKey();
}
}
}
- 接口IEnumberable,IEnumberable
- c#2.0 IEnumberable接口
- IQueryable接口与IEnumberable区别
- IQueryable & IEnumberable 区别
- C#之IEnumberable & IQueryable
- IEnumberable与IQueryable区别
- IQueryable & IEnumberable 区别
- C# IEnumberable 的用法
- C# IEnumberable & IQueryable 区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- Entity Framework--IQueryable与IEnumberable的区别
- c#内存管理
- ASP+Access的安全隐患及对策
- “机器狗”病毒驱动部分逆向分析注释(C代码)
- 让select查询结果额外增加自增的伪序号列
- [转]对FPGA认识、学习和进阶《技术人生2009特辑》
- 接口IEnumberable,IEnumberable
- WINDOWS常用软件
- ExtJS 网站使用率性能
- 2010/10/20
- 百度笔试题及答案
- openfire安装完毕后无法登录控制台(后台)的解决方法
- Linux下批量删除文件(find和rm结合)
- 2010/10/21
- 专业服务器和普通电脑的区别