127得票4回答
IEnumerator和IEnumerable有什么区别?

可能重复: 有人能向我解释一下IEnumerable和IEnumerator吗? IEnumerator和IEnumerable有什么区别?

16得票6回答
IEnumerator是否有“HasNext”方法?

在Java中,我使用Iterator对象的hasNext方法来判断迭代器是否还有更多元素(同时不会消耗元素),因此hasNext方法就像一个"Peek"方法。 我的问题是:C#的泛型IEnumerator对象是否有类似于"hasNext"或"Peek"方法?

71得票9回答
返回一个空的IEnumerator。

我有一个接口,其中实现了“public IEnumerator GetEnumerator()”方法,以便我可以在foreach语句中使用该接口。 我在几个类中实现了这个接口,并且在其中一个类中,我想返回一个空的IEnumerator。目前我是这样做的:public IEnumerator ...

12得票3回答
foreach的for/while等价语句是什么?

我有一个 foreach 循环,需要将其转换为for或while循环。我的循环看起来像这样:foreach (Item item in Items) { // some stuff } 等价于 for 或 while 循环的是什么? 我认为我需要使用 GetEnumerator 来获...

31得票5回答
如何将IEnumerator转换为通用的IEnumerator是最佳方法?

我正在为C#.NET 3.5编写自定义ConfigurationHandler的自定义ConfigurationElementCollection,并希望将IEnumerator作为通用的IEnumerator公开。 如何最好地实现这一点? 我目前正在使用以下代码: public n...

12得票6回答
在Unity中,我何时应该使用协程而不是在Update()中减去Time.deltaTime?

以下是我想要强调的简单示例。 使用协程:public float repeatRate = 5f; void Start() { StartCoroutine("RepeatSomething"); } IEnumerator RepeatSomething() { whil...

8得票2回答
Visual Studio如何在不进入其IEnumerator<T>的MoveNext中断的情况下评估IEnumerable?

假设您为下面的代码编写了自定义枚举器: public class School : IEnumerable&lt;Student&gt; 然后在客户端代码中,您这样做: static void Main(string[] args) { var school = CreateS...

7得票8回答
在foreach循环中手动递增枚举器。

我在一个foreach循环内有一个嵌套的while循环,我想在满足某个条件的情况下无限地推进枚举器。为了做到这一点,我尝试将枚举器强制转换为IEnumerator&lt;T&gt;(如果它在foreach循环中,则必须是这样),然后在转换后的对象上调用MoveNext(),但它给我一个错误,说...

89得票5回答
简单的IEnumerator使用(附示例)

我有些困难记住在C#中如何(而不是为什么)使用IEnumerator。我习惯于Java,它有很好的文档,对初学者解释得非常清楚。所以,请耐心等待。 我尝试从其他答案中学习,但没有成功。与其问一个已经被问过的通用问题,我有一个具体的例子,可以帮助我澄清问题。 假设我有一个方法,需要传递一个I...

12得票4回答
为什么迭代器定义了remove()操作?

在C#中,IEnumerator接口定义了一种遍历集合并查看元素的方法。我认为这非常有用,因为如果你将IEnumerable&lt;T&gt;传递给一个方法,它不会修改原始源。 然而,在Java中,Iterator定义了remove操作(可选!)以允许删除元素。传递Iterable&lt;T...