Enum ialah kata kunci simpanan dalam C#, yang mewakili penghitungan. Penghitungan ialah jenis yang ditentukan pengguna dalam C# yang memegang satu set pemalar bernama. Setiap pemalar dalam set mempunyai nilai (secara lalai, integer). Pemalar boleh diakses melalui kedua-dua nama dan nilai. Oleh itu, nama tidak boleh diduplikasi dalam enum. Sintaks enum adalah mudah. Ia bermula dengan kata kunci enum, diikuti dengan nama pembolehubah dan satu set pemalar bernama dibalut dalam kurungan kerinting. Sudah tentu, ia berakhir dengan koma bertitik.
Sintaks:
enum <enum_name> {<set_of_named_constants>};
Contoh:
Kod:
enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; enum Month { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
Enum mempunyai jenis asas dalam C#. Ini bermakna setiap pemalar dalam enum akan mempunyai nilai jenis asas yang diberikan kepadanya. Jenis asas lalai enum dalam C# ialah integer.
Dalam Hari enum di atas, kami mempunyai tujuh pemalar yang diisytiharkan. Ia mempunyai jenis integer asas lalai. Oleh itu, setiap pemalar akan mempunyai nilai integer yang diberikan kepadanya. Secara lalai, nilai bermula pada 0. Oleh itu, Sun akan mempunyai 0 ditetapkan kepadanya; Mon akan mempunyai 1 ditugaskan kepadanya, Sel akan mempunyai 2 ditugaskan kepadanya, dan seterusnya.
Mari kita ambil contoh lain. Kami akan memberikan nilai 1 kepada Sun. Ini akan memaksa pengkompil untuk memulakan tugasan daripada 1 dan bukannya 0. Kemudian, kami akan menetapkan nilai 8 kepada Kha. Pengkompil kemudian akan meneruskan tugasan dari 8 dan seterusnya.
Kod:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat }; public static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine((Day)i); } } }
Output:
Contoh dunia sebenar boleh menjadi pelbagai peringkat dalam perjalanan pelanggan. Sudah tentu, semua pemalar boleh diisytiharkan secara berasingan dan diberikan nilai integer yang sepadan kepadanya, tetapi menggunakan enum menghilangkan kerumitan mengingati nilai integer untuk setiap peringkat dan menjadikan kod lebih mudah difahami.
Kod:
using System; public class Program { enum ClientJourney { Introduced = 1, UnderReview = 2, Reviewed = 3, Documentation = 4, Onboarded = 5, Declined = 6, Deboarded = 7 }; public static void Main() { Console.WriteLine("The various stages in the journey of a client are:\n"); foreach (string str in Enum.GetNames(typeof(ClientJourney))) { Console.WriteLine(str); } } }
Output:
Diberikan di bawah adalah kaedah enum dalam C#:
Kaedah GetName mengembalikan pemalar bernama dipetakan kepada nilai yang ditentukan dalam enum. Jika tiada pemalar bernama pada nilai itu, ia mengembalikan rentetan kosong.
Kaedah ini menjangkakan dua parameter – satu ialah jenis iaitu enum itu sendiri dan satu lagi ialah nilai yang ditentukan.
Dalam contoh Hari yang sama di atas, kami akan mencetak pemalar bernama melalui kaedah GetName.
Kod:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine(Enum.GetName(typeof(Day), i)); } } }
Output:
Dalam contoh di atas, kami terpaksa menggunakan gelung for untuk mendapatkan semua pemalar yang dinamakan bagi enum. Kaedah GetName lebih berguna apabila kita memerlukan satu atau bilangan terhad pemalar bernama.
Kami mempunyai kaedah lain GetNames() untuk mendapatkan semua pemalar bernama. Ia mengambil enum sebagai parameter input.
Dalam contoh Hari yang sama di atas, kami akan mencetak pemalar bernama melalui kaedah GetNames.
Kod:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { foreach(string namedConstant in Enum.GetNames(typeof(Day))){ Console.WriteLine(namedConstant); } } }
Output:
Kaedah GetValues() digunakan untuk mendapatkan nilai yang dipetakan asas kepada setiap pemalar bernama enum.
Dalam contoh Hari yang sama di atas, kami akan mencetak pemalar bernama melalui kaedah GetNames.
Kod:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { foreach (int i in Enum.GetValues(typeof(Day))) { Console.WriteLine(i); } } }
Output:
Diberikan di bawah adalah peraturan untuk enum dalam C#:
Diberikan di bawah adalah kelebihan yang dinyatakan:
Oleh itu, kita telah melihat penggunaan enum dalam C#. Kami telah melihat cara ia berfungsi dan apakah kegunaan praktikalnya. Kami memahami peraturan yang perlu dipatuhi apabila menggunakan enum. Beberapa kaedah membantu kami mengakses dan memformat enum. Adalah disyorkan untuk menggunakan enum dalam kod anda sebanyak mungkin. Ini akan membantu anda memerhatikan amalan baik pengekodan dan mempelajari enum juga.
Atas ialah kandungan terperinci Enum dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!