Điểm của thuộc tính [Flags] mà bạn có thể bit kiểm tra mà không có nó là gì?Thuộc tính cờ Enum
7
A
Trả lời
11
Thuộc tính Flags cho phép bạn xem một CSV (Comma Separated giá trị) của kiểu liệt kê của bạn khi gọi ToString()
Ví dụ:
[Flags]
public Enum Permissions
{
None =0,
Read = 1,
Write =2,
Delete= 4
}
Permissions p = Permissions.Read | Permissions.Write;
p.ToString() //Prints out "Read, Write"
Tuy nhiên bạn vẫn có thể nhận được điều tương tự nếu bạn loại bỏ thuộc tính cờ và chỉ cần làm:
p.ToString("F") //Prints out "Read, Write"
Và như John đã chỉ ra nó cũng cho phép bạn chuyển đổi CSV trở lại Enum sử dụng Enum.Parse
5
Thay đổi hành vi chuyển đổi giữa các chuỗi và giá trị enum (Enum.Parse
và ToString
).
Offtopic, nhưng tôi vừa nhận thấy bạn là người đầu tiên vượt qua 200 000 danh tiếng. Chúc mừng:) –