gpt4 book ai didi

c# - 如何知道枚举器是否已到达 C# 中集合的末尾?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:51 25 4
gpt4 key购买 nike

我正在将库从 C++ 移植到 C#。旧库使用来自 C++ 的 vector ,而在 C# 中我使用通用字典,因为它们实际上是我正在做的事情的良好数据结构(每个元素都有一个 ID,然后我只使用 using TypeDictionary = Dictionary<String, Type>; )。现在,在 C# 代码中我使用了这样一个循环

TypeDictionary.Enumerator tdEnum = MyTypeDictionary.GetEnumerator();

while( tdEnum.MoveNext() )
{
Type element = typeElement.Current.Value;

// More code here
}

遍历集合中的元素。问题是,在特定情况下,我需要检查某个枚举器是否已到达集合的末尾,在 C++ 中,我会像这样进行检查:

if ( tdEnum == MyTypeDictionary.end() ) // More code here

但我只是不知道如何在 C# 中处理这种情况,有什么想法吗?

谢谢
托马索

最佳答案

这是实现此目的的一种非常简单的方法。

bool hasNext = tdEnum.MoveNext();
while (hasNext) {
int i = tdEnum.Current;
hasNext = tdEnum.MoveNext();
}

我找到了一个在线教程,它也可以帮助您了解其工作原理。

http://www.c-sharpcorner.com/UploadFile/prasadh/Enumerators11132005232321PM/Enumerators.aspx

关于c# - 如何知道枚举器是否已到达 C# 中集合的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2714129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com