【发布时间】:2010-09-28 02:17:50
【问题描述】:
我总是很惊讶,即使在使用 C# 这么久之后,我仍然设法找到我不知道的东西......
我已尝试在 Internet 上搜索此内容,但在搜索中使用“~”对我来说效果不佳,而且我在 MSDN 上也没有找到任何东西(并不是说它不存在)
最近看到这个sn-p的代码,波浪号(~)是什么意思?
/// <summary>
/// Enumerates the ways a customer may purchase goods.
/// </summary>
[Flags]
public enum PurchaseMethod
{
All = ~0,
None = 0,
Cash = 1,
Check = 2,
CreditCard = 4
}
看到它我有点惊讶,所以我尝试编译它,它工作了......但我仍然不知道它的含义/作用。有什么帮助吗??
【问题讨论】:
-
这是一个很棒且优雅的解决方案,允许随着时间的推移平滑升级枚举。不幸的是,它与 CA-2217 冲突,如果您使用代码分析会抛出错误:( msdn.microsoft.com/en-us/library/ms182335.aspx
-
现在是 2020 年,我发现自己的想法与您开始发帖时的想法相同。很高兴听到我并不孤单。
标签: c# enums language-features enumeration