这是一个非常简单的问题,但我真的很想知道什么是好的做法。
我有一个包含日志子系统的系统。日志包含有关用户 ID 的信息。简化的日志记录是这样的:
log.RegisterEvent(eventType, userID, eventDetails);
有些事件是系统事件,它们没有关联用户 ID。由于用户 ID 是正整数,我认为 0 表示该事件不涉及用户:
log.RegisterEvent(eventType, 0, eventDetails);
但是把 0 放在那里只是……不对。我想到了使用枚举,例如:
enum UserID
{
None = 0
}
但是只有一个值的枚举可以吗? 最好使用静态常量? 或者这是另一种更好的方法?
最佳答案
“用户 ID”对我来说听起来不像是一种自然的枚举。这不像是在全局范围内存在一组自然有限的用户。
一个常量值会更有意义:
const long UnknownUserId = 0;
在情况下,具有单个值的枚举是有意义的,但它几乎总是用于 future 的扩展。
关于c# - 具有单个值的枚举是否合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861988/