如何在此文本下修复我的代码?
//puncts = puncts ?? new List<Vector2>() { new Vector2(position.X, position.Y) };
if (Vector2.Distance(position, puncts[indexpunkt] = puncts[indexpunkt] ?? new Vector2(position.X, position.Y) ) < 1)
indexpunkt++;
错误:
Error 1 Operator '??' cannot be applied to operands of type 'Microsoft.Xna.Framework.Vector2' and 'Microsoft.Xna.Framework.Vector2'
如果它为null,我希望创建新的puncts并将第一个元素添加到其列表中。
我可以使用运算符??
吗?如何在 if
语句中使用它?
答案 0 :(得分:3)
Vector2
是Struct
,因此不能为空,因此合并运算符不适用。