小编mci*_*oda的帖子

如何检查是否设置了多个枚举标志?

我只是想知道是否设置了一个枚举标志,而不是哪个.我目前的想法是检查它是否是2的幂.在枚举类型中有更好的方法吗?

[Flags]
enum Foo
{
Flag1 = 0x01,
Flag2 = 0x02,
Flag3 = 0x04,
Flag4 = 0x08,
Flag5 = 0x10,
Flag6 = 0x20,
Flag7 = 0x40,
Flag8 = 0x80
}

private bool ExactlynOneFlagSet(Foo myFoo)
{
  var x = (byte) myFoo;
  return (x != 0) && ((x & (x - 1)) == 0); //Check if a power of 2
}

if(!ExactlynOneFlagSet(Foo myFoo))
{
   //Do something
}
Run Code Online (Sandbox Code Playgroud)

c# enums

35
推荐指数
3
解决办法
8358
查看次数

如何防止生成.csproj.user?

某些特定于用户的配置存储在.csproj.user中。如何告诉MS Visual Studio每次将此信息存储在.csproj中?

visual-studio csproj-user

5
推荐指数
1
解决办法
4748
查看次数

标签 统计

c# ×1

csproj-user ×1

enums ×1

visual-studio ×1