Tôi đang sử dụng một enum với thuộc tính flags làm cách theo dõi trạng thái.Tìm cờ được đặt cao nhất trong một giá trị enum
Một ví dụ là như sau:
Created = 1
Completed = 2
Dispatched = 4
Nếu không viết bất cứ điều gì quá cứng nhắc (nếu việc kiểm tra này, làm điều đó, nếu kiểm tra rằng, làm được điều này) tôi muốn để có thể tìm thấy những lá cờ cao nhất mà đã được đặt trong ví dụ này:
Item.Status = Status.Created | Status.Completed
phương pháp thần thoại sẽ trả về 2 - khi hoàn thành là cờ được đặt có giá trị cao nhất.
GetMaxSetFlagValue(Item.Status) // returns 2
Tôi đã tìm thấy câu hỏi xoay quanh enum thực tế, không phải là giá trị sử dụng cờ. Tôi khá chắc chắn điều này có thể đạt được với Linq ...?