문제

내가 생각할 수 있습니까? IEnumerator 나는 an에서 얻는다 IList (전화로 GetEnumerator .의 방법 IEnumerable 인터페이스) 목록 순서대로 항목을 제공할까요?

도움이 되었습니까?

해결책

ILIST는 인터페이스이기 때문에 구현은 어떤 순서로든 항목을 열거 할 수 있기 때문입니다. 예를 들어, 나는 이상한리스트 : ilist를 명시하고 비 결정적으로 포함하여 어떤 식 으로든 항목을 열거 할 수 있습니다. 반면에 목록 (t)을 사용하는 경우 목록에 저장된 순서대로 항목을 열거하는 것을 보장합니다.

편집하다: 즉, 다른 많은 사람들이 지적했듯이 대부분의 구현은 목록 (t)의 의미를 따를 것입니다. 그것은 당신이 물었던 것이 아니었지만;)

다른 팁

열거자는 메모리의 위치에 비해 목록 내부의 객체에 액세스 할 수 있어야하며, 이는 루프의 a에서 0에서 길이 <1로 이동하는 목록의 인덱서를 사용하는 것과 동일합니다.

편집하다: ILIST를 구현하는 .NET 프레임 워크 클래스와 관련하여 구체적으로 답변했습니다. 다른 사람이 이러한 인터페이스를 구현하면 실제 구현은 거의 모든 것일 수 있습니다. 따라서 구현 자에 따라 다릅니다.

예, 정확히 할 것입니다. IList 적어도. 좋은 IList 목록이 색인화 된 것과 동일한 순서로 요소를 항상 열거해야합니다.

List<int> list = new List<int> { 1, 1, 2, 3, 5, 8 };

IEnumerator<int> enumtor = list.GetEnumerator();
while (enumtor.MoveNext())
{
    Console.Write(enumtor.Current);
}

인쇄물 112358.

이것은 ILIST의 구현에 달려 있습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top