Sự khác biệt giữa việc sử dụng Cờ và FlagsAttribute với một enum là gì?C# Flags vs. FlagsAttribute
17
A
Trả lời
27
Cờ chỉ đơn giản là viết tắt cho FlagsAttribute. Trong C#, bạn có thể để lại hậu tố "Thuộc tính" khỏi thuộc tính khi bạn áp dụng nó cho một phần tử.
Đối với cờ chính nó, tất cả những gì nó làm là biểu thị enum là có các thành viên cờ. Bạn vẫn phải đảm bảo rằng các thành viên có các giá trị kết hợp chính xác. Một số hàm khung, chẳng hạn như Enum.ToString, sẽ tìm thuộc tính flags để xác định cách diễn giải giá trị.
Các vấn đề liên quan
- 1. Xóa cờ khỏi C++ FLAGS trong Makefile?
- 2. Enum.TryParse với thuộc tính Flags
- 3. Tương đương với C# Enum Flags thuộc tính trong Java?
- 4. SQL Server Bitwise cư xử như Flags C# Enum
- 5. C# Enums - Kiểm tra Flags chống lại một Mask
- 6. In Tất cả Flags JVM
- 7. Thêm Flags Linker trong Xcode
- 8. g ++ Flags Tối ưu hóa: -fuse-linker-plugin vs -fwhole chương trình
- 9. Flags với các dịch vụ web
- 10. Giá trị ngẫu nhiên từ Flags enum
- 11. Có nhiều cách để xác định C# Enums với thuộc tính [Flags]?
- 12. static vs extern "C"/"C++"
- 13. Int32 vs Int64 vs Int trong C#
- 14. CppCMS vs C++ Server Pages vs Wt
- 15. C getchar vs scanf
- 16. C# HttpWebRequest vs WebRequest
- 17. C#: System.Object vs Generics
- 18. TerminateProcess vs Ctrl + C
- 19. C# Assembly.Load vs Assembly.ReflectionOnlyLoad
- 20. C++ Templating vs Inheritance
- 21. Cách nào tốt hơn để so sánh Flags Enum?
- 22. ASP.NET kiểm soát tài sản với [Flags] enum
- 23. .NET GUI - C# vs C++/CLI
- 24. Toán tử vs Hàm trong C/C++
- 25. C++/Qt - QThread vs QRunnable
- 26. Monitor vs Mutex trong C#
- 27. Delphi CopyMemory vs C++ memcpy
- 28. var vs Object trong C#
- 29. memcpy vs assignment trong C
- 30. F # so vs C# IComparable
Một cách tôi đảm bảo rằng giá trị "kết hợp chính xác" là bắt đầu từ 0 cho 'không', sau đó mỗi giá trị enum tăng dần bằng cách chuyển bit sang một bên trái .eg: '1 << 0' (1),' 1 << 1' (2), '1 << 2' (4), v.v. –