Ich hatte eine Diskussion über PHP InfiniteIterator mit einem Freund.Was entspricht dem InfiniteIterator von PHP in .NET?
Gibt es ein Äquivalent davon in der .NET-Welt?
Ich hatte eine Diskussion über PHP InfiniteIterator mit einem Freund.Was entspricht dem InfiniteIterator von PHP in .NET?
Gibt es ein Äquivalent davon in der .NET-Welt?
Nicht eingebaute in aber einfach zu schreiben:
public static IEnumerable<T> RepeatInfinitely<T>(this IEnumerable<T> sequence)
{
while(true) {
foreach(var item in sequence)
yield return item;
}
}
Sie können einfach Ihre eigene Rolle.
public class InfiniteEnumerator: System.Collections.IEnumerator
{
private System.Collections.IEnumerator _m_enumerator;
public InfiniteEnumerator(System.Collections.IEnumerator enumerator)
{
_m_enumerator = enumerator;
}
public object Current
{
get { return _m_enumerator.Current; }
}
public bool MoveNext()
{
if (!_m_enumerator.MoveNext())
{
_m_enumerator.Reset();
return _m_enumerator.MoveNext();
}
else
{
return true;
}
}
public void Reset()
{
_m_enumerator.Reset();
}
}
while (wahr) {...} :-) –
Was macht es? Ist das das Gleiche wie eine unendliche While-Schleife? – Jack
Das habe ich zuerst gelernt, aber ich habe auch gesagt, es wäre zu einfach, um wahr zu sein. Recht? –