数组我有一个具有4个值的枚举:铸造整数数组来枚举
public enum DriveRates
{
driveSidereal = 0,
driveLunar = 1,
driveSolar = 2,
driveKing = 3
}
我有我要投射到DriveRates数组值的数组。然而,当我做var rates = (DriveRates[])ret;
,与ret
是数字(可能是整数)的对象数组,它说:Unable to cast object of type 'System.Object[]' to type 'ASCOM.DeviceInterface.DriveRates[]'.
ret
= {0,1,2,3}
。我应该怎么做,而不是。再次,我试图将枚举值数组转换为枚举数组...好吧,值:)但我试图从类型object[]
转换为DriveRates[]
类型。
嗯......是的,这是对象的数组。显然,一个对象数组不能转换为一个int数组。 – 2013-03-02 00:01:58
@ArlenBeiler:它可以被转换为* new *数组 - 但是*存在*数组不能被视为一个int数组,因为它们具有不同的表示形式。 – 2013-03-02 00:12:39
值得注意的是,即使'是'和''''操作符也可能与enum数组的类型混淆,请参阅http://stackoverflow.com/a/21186137/717732上的最后一个片段 - 所有三个检查都会显示'true' ,而'.GetType()'当然不是。 – quetzalcoatl 2014-01-17 12:49:44