Bagikan melalui


QuaternionKeyFrameCollection.GetEnumerator Metode

Definisi

Mengembalikan enumerator yang dapat melakukan iterasi melalui koleksi.

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

Mengembalikan

Yang IEnumerator dapat melakukan iterasi melalui koleksi.

Penerapan

Keterangan

Enumerator hanya memungkinkan membaca data dalam koleksi. Enumerator tidak dapat digunakan untuk mengubah koleksi yang mendasar.

Awalnya, enumerator diposisikan sebelum item pertama dalam koleksi. Reset juga membawa enumerator kembali ke posisi ini. Pada posisi ini, panggilan Current melemparkan pengecualian. Oleh karena itu, Anda harus memanggil MoveNext untuk memajukan enumerator ke item pertama koleksi sebelum membaca nilai Current.

Current mengembalikan objek yang sama hingga atau MoveNextReset dipanggil. MoveNext Current mengatur ke item berikutnya.

Setelah akhir koleksi dilewatkan, enumerator diposisikan setelah item terakhir dalam koleksi, dan panggilan MoveNext mengembalikan false. Jika panggilan terakhir untuk MoveNext dikembalikan false, panggilan Current akan melemparkan pengecualian. Untuk mengatur Current ke item pertama koleksi lagi, Anda dapat memanggil Reset diikuti dengan MoveNext.

Enumerator tetap valid selama koleksi tetap tidak berubah. Jika perubahan dilakukan pada koleksi, seperti menambahkan, memodifikasi, atau menghapus item, enumerator tidak valid dan panggilan berikutnya ke MoveNext atau Reset melemparkan InvalidOperationException. Jika koleksi dimodifikasi antara MoveNext dan Current, Current akan mengembalikan item yang diatur ke, bahkan jika enumerator sudah tidak valid.

Enumerator tidak memiliki akses eksklusif ke koleksi; oleh karena itu, menghitung melalui koleksi secara intrinsik bukan prosedur aman utas. Bahkan ketika koleksi disinkronkan, utas lain masih dapat memodifikasi koleksi, yang menyebabkan enumerator melemparkan pengecualian. Untuk menjamin keamanan utas selama enumerasi, Anda dapat mengunci koleksi selama seluruh enumerasi atau menangkap pengecualian yang dihasilkan dari perubahan yang dibuat oleh utas lain.

Berlaku untuk