无法将十进制转换为Int

时间:2017-07-29 13:32:44

标签: c# int decimal

我有这个错误,我想修复它,它说不能将十进制转换为int,我不知道放在哪里(int)或(十进制)。

角色移动8pix / s并以十进制形式存储。

继承代码

     int[,,] Map = new int[151, 151, 11];
     decimal GuyY = 1;
     decimal GuyX = 1; //Placeholder for other math

     if (Map[GuyX / 32, Math.Ceiling(GuyY / 32) - 1, 1] = 1)
     {
     }

1 个答案:

答案 0 :(得分:1)

数组的索引[,]必须是整数。将小数GuyX除以整数32会导致decimal无法作为索引。

此外,您需要使用==来评估布尔表达式。

结果代码为:

if (Map[(int)(GuyX / 32), (int)Math.Ceiling(GuyY / 32) - 1, 1] == 1)
{

}