簡體   English   中英

AS3中的C#數據類型

[英]C# datatypes in AS3

我正在將一些C#解壓縮代碼移植到AS3,並且由於它做了一些非常復雜的工作,因此它使用了一系列數據類型,例如byteshort 問題是,AS3沒有這些數據類型。

在大多數情況下,我可以使用uint來保存這些值。 但是,在某些時候,我會得到如下一行:

length[symbol++] = (short)len;

據我了解,這意味着必須讀取len並將其作為short分配給length數組。 所以我想知道,如何在AS3中做到這一點? 我想也許要做:

length[symbol++] = len & 0xFF;

但是我不確定這是否會產生適當的結果。

因此,基本上,我的問題是:在AS3中執行此類操作時,如何確保保持正確的字節數? 也許我應該改用ByteArray

根據使用C#代碼進行轉換的原因,您可能需要也可能不需要將其保留在AS3代碼中。 如果僅將cast的類型調整為length數組元素的類型(即不損失精度),則不需要使用cast。 如果len實際上可以大於0x7FFF,則需要執行一些強制轉換。

我認為,如果您需要處理類似於C# StreamReader結果,則ByteArray可能是一個合理的選擇,隨機訪問可能會比必要的困難。

請注意, short是2個字節長( System.Int16同義詞),因此要使用位操作將其轉換為它,您需要執行& 0xFFFF 如果在有符號和無符號類型之間進行轉換,也要非常小心...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM