C++ 中Iterator可以用++来进行遍历,只要拿到First就可以脱离容器进行遍历
C#中的KeyValuePair却没有,如何达到用自己来控制遍历
我现在算法里有两个函数
TObject FirstOb()
TObject NextOb()
用C++的Iterator就很好实现
C#。。。。。。
C++下我可以
Class test
{
map<int,TObject> m_subList;
map<int,TObject>::iterator m_it;
TObject first()
{
m_it = m_SubList.Bigen();
return m_it.Second;
}
TObject next()
{
mit++;
return mit.Second;
}
}
以上是大体的意思,刚转C#有点水土不服。。。。
我知道有~foreach( KeyValuePair<string, int> i in dict )这个方法
但是我的算法遍历是一个~被动的方式,遍历的时候需要由外部来进行推动
比如说表格的遍历读取数据对象~只有当外部表现层,处理完了一个对象,在由~FRIST,Next提取下一个需要处理的对象。。。难道我要将我内部的数据链交给外部来处理?