Tôi đang xem trang web của Jon skeet trên C# Brain teaser http://www.yoda.arachsys.com/csharp/teasers.html. Tại sao mục "Baz" hiển thị ở đầu ra mặc dù tôi đã tuyên bố các giá trị mặc định cho tất cả các mục trong enumTại sao enums với giá trị mặc định không hoạt động như mong đợi trong C#?
--- ví dụ: 1
class Test
{
enum Foo { Bar, Baz,bread, jam };
const int One = 1;
const int Une = 1;
static void Main()
{
Foo f = 0;
Console.WriteLine(f);
Console.ReadLine();
}
}
// output :Bar
--eg2
class Test
{
enum Foo { Bar, Baz,bread=0, jam };
const int One = 1;
const int Une = 1;
static void Main()
{
Foo f = 0;
Console.WriteLine(f);
Console.ReadLine();
}
}
//output : Bar
- eg3
class Test
{
enum Foo { Bar, Baz=0, bread=0, jam };
const int One = 1;
const int Une = 1;
static void Main()
{
Foo f = 0;
Console.WriteLine(f);
Console.ReadLine();
}
}
//output :Baz
--eg4
class Test
{
enum Foo { Bar=0, Baz=0, bread=0, jam=0};
const int One = 1;
const int Une = 1;
static void Main()
{
Foo f = 0;
Console.WriteLine(f);
Console.ReadLine();
}
}
//output:Baz
Nếu nhiều thành viên enum có cùng giá trị (0 trong trường hợp này) - bạn mong đợi điều gì cho enum với giá trị đó? – Evk
Nó hoàn nguyên về lựa chọn chữ cái. Baz là trước khi bánh mì –