다음을 통해 공유


ObjectResult<T>.GetEnumerator 메서드

정의

쿼리 결과를 반복하는 열거자를 반환합니다.

public:
 virtual System::Collections::Generic::IEnumerator<T> ^ GetEnumerator();
public System.Collections.Generic.IEnumerator<T> GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.Generic.IEnumerator<'T>
override this.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<'T>
Public Function GetEnumerator () As IEnumerator(Of T)

반환

쿼리 결과를 반복하는 열거자입니다.

구현

예제

이 예제에서는 메서드에서 를 ObjectResult<T> 반환합니다 Execute . @FSHO2@그런 다음 열거자를 가져오고 쿼리 결과를 반복합니다. @FSHO2@끝으로 열거자와 ObjectResult<T> 개체를 해제합니다.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    ObjectSet<Product> query = context.Products;
    ObjectResult<Product> queryResults = null;

    System.Collections.IEnumerator enumerator = null;
    try
    {
        queryResults = query.Execute(MergeOption.AppendOnly);

        // Get the enumerator.
        enumerator = ((System.Collections.IEnumerable)queryResults).GetEnumerator();

        // Iterate through the query results.
        while (enumerator.MoveNext())
        {
            Product product = (Product)enumerator.Current;
            Console.WriteLine("{0}", product.Name);
        }
        // Dispose the enumerator
        ((IDisposable)enumerator).Dispose();
    }
    finally
    {
        // Dispose the query results and the enumerator.
        if (queryResults != null)
        {
            queryResults.Dispose();
        }
        if (enumerator != null)
        {
            ((IDisposable)enumerator).Dispose();
        }
    }
}

설명

열거자가 더 이상 필요하지 않으면 삭제해야 합니다. 사용 하 여는 foreach 문 (For Each Visual Basic에서) 결과 대 한 반복이 완료 되 면 열거자가 올바르게 삭제를 확인 합니다.

적용 대상

추가 정보