可能重复: 有人能向我解释一下IEnumerable和IEnumerator吗? IEnumerator和IEnumerable有什么区别?
在Java中,我使用Iterator对象的hasNext方法来判断迭代器是否还有更多元素(同时不会消耗元素),因此hasNext方法就像一个"Peek"方法。 我的问题是:C#的泛型IEnumerator对象是否有类似于"hasNext"或"Peek"方法?
我有一个接口,其中实现了“public IEnumerator GetEnumerator()”方法,以便我可以在foreach语句中使用该接口。 我在几个类中实现了这个接口,并且在其中一个类中,我想返回一个空的IEnumerator。目前我是这样做的:public IEnumerator ...
我有一个 foreach 循环,需要将其转换为for或while循环。我的循环看起来像这样:foreach (Item item in Items) { // some stuff } 等价于 for 或 while 循环的是什么? 我认为我需要使用 GetEnumerator 来获...
我正在为C#.NET 3.5编写自定义ConfigurationHandler的自定义ConfigurationElementCollection,并希望将IEnumerator作为通用的IEnumerator公开。 如何最好地实现这一点? 我目前正在使用以下代码: public n...
以下是我想要强调的简单示例。 使用协程:public float repeatRate = 5f; void Start() { StartCoroutine("RepeatSomething"); } IEnumerator RepeatSomething() { whil...
假设您为下面的代码编写了自定义枚举器: public class School : IEnumerable<Student> 然后在客户端代码中,您这样做: static void Main(string[] args) { var school = CreateS...
我在一个foreach循环内有一个嵌套的while循环,我想在满足某个条件的情况下无限地推进枚举器。为了做到这一点,我尝试将枚举器强制转换为IEnumerator<T>(如果它在foreach循环中,则必须是这样),然后在转换后的对象上调用MoveNext(),但它给我一个错误,说...
我有些困难记住在C#中如何(而不是为什么)使用IEnumerator。我习惯于Java,它有很好的文档,对初学者解释得非常清楚。所以,请耐心等待。 我尝试从其他答案中学习,但没有成功。与其问一个已经被问过的通用问题,我有一个具体的例子,可以帮助我澄清问题。 假设我有一个方法,需要传递一个I...
在C#中,IEnumerator接口定义了一种遍历集合并查看元素的方法。我认为这非常有用,因为如果你将IEnumerable<T>传递给一个方法,它不会修改原始源。 然而,在Java中,Iterator定义了remove操作(可选!)以允许删除元素。传递Iterable<T...