Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengulangi Hanya Set Bendera dalam C# Enum?
Membalas Nilai Enum dengan Bendera
Soalan:
Apabila bekerja dengan enum yang menyokong bendera, bagaimanakah seseorang boleh beralih secara khusus ke atas individu, nilai bit tunggal yang ditetapkan dalam pembolehubah tertentu? Adakah mungkin untuk mengelakkan lelaran ke atas keseluruhan enum menggunakan Enum.GetValues?
Jawapan:
Ya, adalah mungkin untuk mengulang nilai bendera individu dalam pembolehubah enum tanpa perlu menghitung keseluruhan enum dan semak sama ada nilai ditetapkan. Ini boleh dicapai menggunakan coretan kod berikut:
static IEnumerable<Enum> GetFlags(Enum input) { foreach (Enum value in Enum.GetValues(input.GetType())) if (input.HasFlag(value)) yield return value; }
Penjelasan:
Dengan menggunakan pendekatan ini, anda boleh mengulang nilai bendera individu dengan cekap daripada pembolehubah enum.
Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Hanya Set Bendera dalam C# Enum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!