Windows Phone上的System.InvalidCastException:Unity3d

时间:2014-08-22 14:37:15

标签: arrays windows-phone-8 unity3d unityscript .net

我的一个代码抛出了这个异常:

An exception of type 'System.InvalidCastException' occurred in mscorlib.ni.dll but was not handled in user code

Additional information: At least one element in the source array could not be cast down to the destination array type.

当我在Windows Phone上运行此项目时,我在visual studio 2013上遇到此异常。 OS版本是8.1开发人员预览版。 代码段是:

private var BootlePattern : int[];
var BootleHits : boolean[];
var maxBottle : int;

function Start() {  
    ...
    BootlePattern=new Array(maxBottle);
    BootleHits=new Array(maxBottle);
    ...
}

任何人都可以建议如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

明确初始化数组,如:

BootlePattern = [0, 0, 0, 0, 0, 0];

而不是:

BootlePattern = new Array(maxBottle);

解决了我的问题。我猜Windows手机在声明期间无法处理数据类型而没有值。虽然我不知道真正的原因。