ObjectResult<T>.GetEnumerator Metode

Definisi

Mengembalikan enumerator yang melakukan iterasi melalui hasil kueri.

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)

Mengembalikan

Enumerator yang melakukan iterasi melalui hasil kueri.

Penerapan

Contoh

Contoh ini mengembalikan ObjectResult<T> dari Execute metode . Kemudian mendapatkan enumerator dan melakukan iterasi melalui hasil kueri. Pada akhirnya, ia melepaskan enumerator dan ObjectResult<T> objek .

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();
        }
    }
}

Keterangan

Enumerator harus dibuang ketika tidak lagi diperlukan. foreach Menggunakan pernyataan (For Each di Visual Basic) memastikan bahwa enumerator dibuang dengan benar saat iterasi atas hasil selesai.

Berlaku untuk

Lihat juga