为什么我收到错误,我无法从 float 转换为 int?

Why I'm getting error I can't convert from float to int?

我有下面一行代码:

calcVector.y = (heightmapData[calcPosZ, calcPosX]) * terrainSize.y;

变量:

calcVector 是类型 Vector3

heightmapData 是类型 float[,]

calcPosZcalcPosX 都输入 float

terrainSize 是类型 Vector3

问题:

我遇到的错误来自以下行:

heightmapData[calcPosZ, calcPosX]

Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?).

我试过的:

我尝试在 heightmapData 之前输入 (float) 或 (int) 我也尝试输入 float.Parse(heightmapData.ToString()) 但没有任何效果。

为什么我收到错误消息,我无法将 float 转换为 int?

calcPosZ and calcPosX both type float

这是不正确的。它必须是 int 类型,因为它表示数组的索引 heightmapData