所以我有一段代码,我有一个0
或1
的变量,我希望得到相反的结果。实际上它是enum
,我的确切代码是
_Player other = player == _Player.FIRST ? _Player.SECOND : _Player.FIRST;
但我想知道是否有一种奇特的移位方式来做到这一点。
答案 0 :(得分:0)
您应该使用extension method for enum type:一种很酷的且可读方式!
enum Player
{
FIRST,
SECOND
}
static class PlayerMethods
{
public static String swap(this Player s)
{
switch (s1)
{
case Player.FIRST:
return Player.SECOND;
case Player.SECOND:
return Player.FIRST;
}
}
}
并使用它:
class Program
{
static void Main(string[] args)
{
Player one = Player.FIRST;
Player other = one.Swap();
}
}
答案 1 :(得分:0)
一种很酷的方式,就是使用
x = !x
当x是布尔值
时