对于我的生活,我不记得如何设置,删除,切换或测试位域中的位.要么我不确定,要么混淆它们,因为我很少需要这些.因此,"比特作弊表"会很好.
例如:
flags = flags | FlagsEnum.Bit4; // Set bit 4.
Run Code Online (Sandbox Code Playgroud)
要么
if ((flags & FlagsEnum.Bit4)) == FlagsEnum.Bit4) // Is there a less verbose way?
Run Code Online (Sandbox Code Playgroud)
您能举例说明所有其他常见操作,最好是使用[Flags]枚举的C#语法吗?
我的应用程序定义了几个enum包含该[Flags]属性的s .
我想写一个小的实用程序方法来检查是否为这些中enum的任何一个设置了标志,我想出了以下内容.
protected static bool IsFlagSet<T>(ref T value, ref T flags)
{
return ((value & flags) == flags);
}
Run Code Online (Sandbox Code Playgroud)
但这给了我错误"运算符'&'不能应用于'T'和'T'类型的操作数".
这可以使用吗?