public class chl:ienumerable
{
public IEnumerator GetEnumerator()
{
}public object add(object x)
{
} }chl x =new chl();
chl.add(12);
chl.add(3);
chl.add(6);如何在迭代器中添加项用来保存这三个数
{
public IEnumerator GetEnumerator()
{
}public object add(object x)
{
} }chl x =new chl();
chl.add(12);
chl.add(3);
chl.add(6);如何在迭代器中添加项用来保存这三个数
http://hi.baidu.com/vcarcar/blog/item/6524c0193cd27978dbb4bd27.html
HashTable
应该都可以的吧
太麻烦了如果你直接继承ArrayList、HashTable倒是很方便public class chl:ArrayList
{
}chl x =new chl();
chl.add(12);
chl.add(3);
chl.add(6);
NO PROBLOM
容器内部实现可以用数组或是链表来实现,其实如果不做成HashTable之类的容器,还是很简单的,
需要注意的是,因为是动态的容器,需要在添加元素的时候检查容器的容量是否足够,不够的话需要动态增加容量
别外,最好还要提供效率较高的排序和查找的算法
{
public MyCollection()
{
_collection = new object[100];
} public void Add(object item)
{
CheckCapaicty();
_collection[_count] = item;
_count++;
} #region IEnumerable 成员 public IEnumerator GetEnumerator()
{
for(int i=0; i<_count; i++)
{
yield return _collection[i];
}
} #endregion public int Count
{
get
{
return _count;
}
} public int Capacity
{
get
{
return _capacity;
}
} private void CheckCapaicty()
{
//如果空间不够,则增加。。
}
private object[] _collection; private int _count = 0; private int _capacity = 0;
}
--
如果要自己实现容器,强烈建议请从System.Collections.ObjectModel 命名空间下的类进行继承。