即使我尊重点运算符优先级,也会出现 'identifier expected' 错误 (C#)

Casting giving 'identifier expected' error even though I am respecting dot operator precedence (C#)

最初我的代码是:

spreadRight = equipmentSlots[5].(EquippableItem)Item.DamageVariance;

但是这引发了错误,我了解到点运算符的优先级高于转换。所以我将其重写为:

spreadRight = equipmentSlots[5].((EquippableItem)Item).DamageVariance;

但是,它仍然给我 'identifier expected' 错误。还是运算符优先级的问题,还是我做错了什么?

谢谢。

如果您想将 equipmentSlots 集合中的 Item 属性 元素转换为 EquippableItem,您应该像这样更改代码:

spreadRight = ((EquippableItem)equipmentSlots[5].Item).DamageVariance;