ObjectResult<T>.GetEnumerator Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sorgu sonuçlarında yineleyen bir numaralandırıcı döndürür.
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)
Döndürülenler
Sorgu sonuçlarında yineleyen bir numaralandırıcı.
Uygulamalar
Örnekler
Bu örnek yönteminden Execute bir ObjectResult<T> döndürür. Ardından bir numaralandırıcı alır ve sorgu sonuçlarında yinelenir. Sonunda, numaralandırıcıyı ve ObjectResult<T> nesneyi serbest bırakır.
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();
}
}
}
Açıklamalar
Numaralandırıcı artık gerekli olmadığında atılmalıdır. deyiminin foreach
(For Each
Visual Basic'te) kullanılması, sonuçlar üzerinde yineleme tamamlandığında numaralandırıcının doğru şekilde atılmasını sağlar.