Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Penghitungan C#?

Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Penghitungan C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 09:32:13334semak imbas

How Can I Efficiently Iterate Through C# Enumerations?

Penjelasan terperinci tentang kaedah traversal penghitungan C#

Penghitungan C# menyediakan cara berstruktur untuk mewakili set nilai tetap. Walau bagaimanapun, kadangkala anda perlu mengulangi nilai dalam penghitungan dengan cekap.

C# menyediakan kaedah Enum.GetValues untuk tujuan ini. Kaedah ini menerima jenis penghitungan sebagai hujah dan mengembalikan tatasusunan yang mengandungi nilai asas. Dengan menukar tatasusunan ini kepada jenis enum yang sepadan, anda boleh mengulang nilai enum dengan mudah menggunakan gelung foreach.

Sebagai contoh, pertimbangkan penghitungan berikut:

<code class="language-csharp">public enum Foos
{
    A,
    B,
    C
}</code>

Untuk mengulang nilai-nilai penghitungan ini, anda boleh menggunakan kaedah Enum.GetValues seperti berikut:

<code class="language-csharp">var values = Enum.GetValues(typeof(Foos));

foreach (var value in values)
{
    Console.WriteLine(value);
}</code>

Kod ini mengeluarkan nilai "A", "B" dan "C" kepada konsol.

Selain itu, C# menyediakan cara mudah untuk mengulang nilai penghitungan sambil memastikan keselamatan jenis. Coretan kod berikut menunjukkan cara untuk mencapai ini menggunakan versi kaedah Enum.GetValues yang ditaip:

<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)).Cast<Foos>();

foreach (var value in values)
{
    // 现在你拥有一个 Foos 类型的强类型值
}</code>

Untuk memudahkan lagi lelaran penghitungan, fungsi pembantu boleh ditakrifkan dalam pangkalan kod. Contohnya:

<code class="language-csharp">public static class EnumUtil
{
    public static IEnumerable<T> GetValues<T>()
    {
        return Enum.GetValues(typeof(T)).Cast<T>();
    }
}</code>

Fungsi pembantu ini kemudiannya boleh digunakan untuk mengulangi nilai penghitungan seperti ini:

<code class="language-csharp">var values = EnumUtil.GetValues<Foos>();

foreach (var value in values)
{
    // 在这里,你可以访问 Foos 枚举的值
}</code>

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Dengan Cekap Melalui Penghitungan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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