即使我尊重点运算符优先级,也会出现 '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;
最初我的代码是:
spreadRight = equipmentSlots[5].(EquippableItem)Item.DamageVariance;
但是这引发了错误,我了解到点运算符的优先级高于转换。所以我将其重写为:
spreadRight = equipmentSlots[5].((EquippableItem)Item).DamageVariance;
但是,它仍然给我 'identifier expected' 错误。还是运算符优先级的问题,还是我做错了什么?
谢谢。
如果您想将 equipmentSlots
集合中的 Item
属性 元素转换为 EquippableItem
,您应该像这样更改代码:
spreadRight = ((EquippableItem)equipmentSlots[5].Item).DamageVariance;