Rumah > pembangunan bahagian belakang > C++ > Apakah Jenis Kelas C# Menyokong Gelung Foreach?

Apakah Jenis Kelas C# Menyokong Gelung Foreach?

Patricia Arquette
Lepaskan: 2025-01-10 10:18:40
asal
975 orang telah melayarinya

What Types of C# Classes Support Foreach Loops?

gelung foreach dalam C#

Soalan:

Apakah jenis kelas yang membenarkan penggunaan gelung foreach?

Jawapan:

Secara teknikal, mana-mana kelas yang mempunyai kaedah awam bernama GetEnumerator() yang mengembalikan jenis dengan kaedah MoveNext() bool dan sifat Semasa boleh digunakan. Walau bagaimanapun, penjelasan yang paling biasa melibatkan kelas yang melaksanakan IEnumerable atau IEnumerable, mengembalikan IEnumerator atau IEnumerator.

Dengan sambungan, mana-mana kelas yang melaksanakan ICollection atau ICollection (cth., Collection, List, Array (T[])) boleh menyokong foreach gelung.

Cara ia berfungsi:

Gelung foreach berfungsi seperti berikut:

  • Memulakan objek sementara (tmp) daripada kaedah GetEnumerator() bagi objek yang diberikan (obj).
  • Selagi tmp.MoveNext() mengembalikan benar, badan gelung (dikelilingi oleh {...}) dilaksanakan berulang kali, mengandungi nilai semasa Semasa.

Variasi:

  • Jika tmp menyokong IDisposable, gunakannya untuk melupuskan tmp apabila gelung selesai.
  • C# 5.0 membenarkan pembolehubah seperti i diisytiharkan di dalam gelung, manakala dalam versi terdahulu mereka perlu diisytiharkan di luar gelung. Perbezaan ini menjadi kritikal apabila menggunakan i dalam kaedah tanpa nama atau ungkapan lambda di dalam gelung.

Atas ialah kandungan terperinci Apakah Jenis Kelas C# Menyokong Gelung Foreach?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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