欢迎光临

木子屋

标题: C#自定义类实现集合类

作者: dnawo

日期: 2009-10-30 10:22 AM

分类: Win编程

内容: 复制内容到剪贴板 程序代码public class Person
{
private string _name;
private int _age;
public Person(string name, int age)
{
this._name = name;
this._age = age;
}
public string Name
{
get { return this._name; }
set { this._name = value; }
}
public int Age
{
get { return this._age; }
set { this._age = value; }
}
}
上边为一个自定义类Person，下边是他的集合类PersonCollection：
复制内容到剪贴板 程序代码public class PersonCollection : IEnumerable, IEnumerator
{
private Person[] _collection;
public PersonCollection(Person[] collection)
{
_collection = new Person[collection.Length];
for (int i = 0; i < collection.Length; i++)
_collection[i] = collection[i];
}
//IEnumerable实现部分
public IEnumerator GetEnumerator()
{
return (IEnumerator)this;
}
//IEnumerator实现部分
private int position = -1;
public bool MoveNext()
{
position++;
return (position < _collection.Length);
}
public void Reset()
{
position = -1;
}
public object Current
{
get
{
try
{
return _collection[position];
}
catch (IndexOutOfRangeException)
{
throw new InvalidOperationException();
}
}
}
}
调用示例：
复制内容到剪贴板 程序代码Person[] list = new Person[]{
new Person("张三",20),
new Person("李四",21),
new Person("王五",22)
};
PersonCollection collect = new PersonCollection(list);
foreach (Person person in collect)
MessageBox.Show(person.Name + "," + person.Age);

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.383 ms

返回

标题: C#自定义类实现集合类

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.383 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.465 ms

返回