5
A
답변
4
하지 내장 쓰기는 쉬운 :
이public static IEnumerable<T> RepeatInfinitely<T>(this IEnumerable<T> sequence)
{
while(true) {
foreach(var item in sequence)
yield return item;
}
}
1
당신이 당신 자신의 롤 할 수 있습니다.
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 (true) {...} :-) –
무엇이 발생합니까? 그것은 무한 while 루프와 동일합니까? – Jack
이것은 내가 처음에 터트 렸던 것이지만 나는 또한 그렇게하기가 쉽지 않을 것이다. 권리? –