显然,由于compareItem变量的多个声明,以下代码是错误的.但是为了理解这是我希望这个代码工作的方式.
switch (objectType)
{
case "Armor":
Item compareItem = player.armor;
break;
case "Shield":
Item compareItem = player.shield;
break;
case "Medikit":
Item compareItem = player.medikit;
break;
case "Grenade":
Item compareItem = player.grenade;
break;
case "Weapon":
Item[] compareItem = player.weapons;
break;
case "Bullet":
Item [] compareItem = player.bullets;
break;
default:
return;
}
Run Code Online (Sandbox Code Playgroud)
什么是根据交换机的结果实现比较Item类或Item类数组的compareItem的最佳方法是什么?
你可以使用一个变量.既然你使用Item[],Item你可以使用一个Item[].在盔甲,盾牌,手枪和手榴弹的情况下,它只包含一个项目:
Item[] compareItems = null;
switch (objectType)
{
case "Armor":
compareItems = new Item[]{ player.armor };
break;
case "Shield":
compareItems = new Item[]{ player.shield };
break;
case "Medikit":
compareItems = new Item[]{ player.medikit };
break;
case "Grenade":
compareItems = new Item[]{ player.grenade};
break;
case "Weapon":
compareItems = player.weapons;
break;
case "Bullet":
compareItems = player.bullets;
break;
default:
return;
}
Run Code Online (Sandbox Code Playgroud)
无论如何,你的逻辑必须处理数组.