數組我有一個具有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