tun*_*nuz 5 c# c++ collections containers porting
我正在将一个库从C++移植到C#.旧库使用来自C++的向量,在C#中我使用泛型字典,因为它们实际上是我正在做的一个很好的数据结构(每个元素都有一个ID,然后我只是使用TypeDictionary = Dictionary<String, Type>;).现在,在C#代码中,我使用像这样的循环
TypeDictionary.Enumerator tdEnum = MyTypeDictionary.GetEnumerator();
while( tdEnum.MoveNext() )
{
Type element = typeElement.Current.Value;
// More code here
}
Run Code Online (Sandbox Code Playgroud)
迭代集合的元素.问题是,在特殊情况下,我需要检查某个枚举器是否已到达集合的末尾,在C++中我会像这样检查:
if ( tdEnum == MyTypeDictionary.end() ) // More code here
Run Code Online (Sandbox Code Playgroud)
但我只是不知道如何在C#中处理这种情况,任何想法?
谢谢
Tommaso
Rob*_*ner 12
这是实现这一目标的一种非常简单的方法.
bool hasNext = tdEnum.MoveNext();
while (hasNext) {
int i = tdEnum.Current;
hasNext = tdEnum.MoveNext();
}
Run Code Online (Sandbox Code Playgroud)
我找到了一个在线教程,也可以帮助您了解其工作原理.
http://www.c-sharpcorner.com/UploadFile/prasadh/Enumerators11132005232321PM/Enumerators.aspx
| 归档时间: |
|
| 查看次数: |
4306 次 |
| 最近记录: |