【发布时间】:2016-10-26 15:12:55
【问题描述】:
所以我正在尝试用 && 编写代码。但是,当我输入它时,它说我无法将操作数应用于它。
具体来说,它的内容是:运算符“&&”不能应用于“Server.Enums.PokemonType”和“Server.Enums.PokemonType”类型的操作数
但是,我需要能够链接这两个东西,这样我才能使代码成为两个PokemonTypes。那么有什么替代方法或解决方法可以解决无法使用 && 的问题吗?
如果你需要,这是我的代码:
case 225:
{
//Flying Press -- INCOMPLETE, needs Flying-type
setup.Move.Element = Enums.PokemonType.Fighting && setup.Move.Element = Enums.PokemonType.Flying;
if (setup.Defender.VolatileStatus.GetStatus("Minimize") != null)
{
setup.Multiplier *= 2;
setup.Move.Accuracy = -1;
}
}
break;
【问题讨论】:
-
这不是类型和运算符的工作方式。您需要一个集合或位掩码。
-
你将不得不改变你的枚举来获得组合,枚举的意义在于它是可枚举的,并且一个属性一次只能使用一个值
-
你想做什么?
-
您需要
==而不是=。单个等号是在做赋值,而不是布尔比较,&&期望两边都有布尔值 -
@AlfieGoodacre 使用
[Flags]的除外