Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Foreach Loops berfungsi dalam C#, dan Kelas Mana yang Melaksanakannya?

Bagaimanakah Foreach Loops berfungsi dalam C#, dan Kelas Mana yang Melaksanakannya?

Patricia Arquette
Lepaskan: 2025-01-10 09:55:39
asal
718 orang telah melayarinya

How Do Foreach Loops Work in C#, and Which Classes Implement Them?

Memahami foreach Gelung C# dan Pelaksanaannya

Kelas Mana yang Menggunakan foreach Gelung?

Gelung foreach dalam C# banyak digunakan dengan kelas yang melaksanakan IEnumerable atau IEnumerable<T>. Ini termasuk mana-mana kelas yang menyediakan kaedah GetEnumerator() yang mengembalikan IEnumerator atau IEnumerator<T>. Pada asasnya, ini merangkumi semua kelas yang melaksanakan ICollection atau ICollection<T>, seperti tatasusunan, senarai dan koleksi lain.

foreach Mekanik Gelung:

Gelung foreach standard (mis., foreach (int i in obj) { ... }) secara fungsinya menyerupai ini:

<code class="language-csharp">var tmp = obj.GetEnumerator();
int i; // C# 4.0 and earlier
while (tmp.MoveNext()) {
    int i; // C# 5.0 and later
    i = tmp.Current;
    { ... } // Loop body
}</code>
Salin selepas log masuk

Pertimbangan penting: Jika enumerator (tmp) melaksanakan IDisposable, ia akan dilupuskan (serupa dengan pernyataan using). Pengisytiharan int i berbeza bergantung pada versi C#. Dalam C# 5.0 dan kemudian, ia diisytiharkan di dalam gelung; versi terdahulu mengisytiharkannya di luar. Perbezaan ini penting apabila menggunakan i dalam kaedah tanpa nama atau ungkapan lambda di dalam gelung.

Atas ialah kandungan terperinci Bagaimanakah Foreach Loops berfungsi dalam C#, dan Kelas Mana yang Melaksanakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan