2017-03-03 35 views
0

有沒有辦法在C#中模擬特殊的C數據類型,如uint64(_int64),anyID(_int16)? 我所定義的數據類型的特殊用C這樣的:模擬C語言中的C數據類型#

typedef unsigned _int16 anyID; 
typedef unsigned _int64 uint64; 

其使用TS3插件API。 它必須是C#,但我只想在C#中使用從TS3定義的C數據類型。

+0

'using anyID = Int16;' –

回答

0

無符號整數已經預先定義見MS c# types

簡稱:USHORT是一個無符號16位INT和ulong是一個無符號64位INT ..

+0

我該如何聲明一個別名?那麼,當我寫uint64時,它會把它當作ulong嗎? –

+0

使用using語句,如使用_int16 = ushort; – BugFinder

+0

原來ushort是一個別名,所以你可以做「使用_int16 = System.UInt16;」 – BugFinder

0

對你有ushortuintulong無符號整數,其分別相當於unsigned int16,unsigned int32unsigned int64

2

一個typedef的等效是using

using anyID = System.UInt16; 
using uint64 = System.UInt64; 

不同數值類型在C#的尺寸可以在這裏找到:Integral Types Table

有一點要注意:不同數值類型的大小在C#中是固定的,與C中的平臺不同,因爲它們是平臺相關的,所以通常爲數值類型大小定義別名通常是多餘的,如int64

+0

有趣的是,雖然'ushort'通常相當於'System.UInt16',而''使用'它不是... – xanatos

+0

是的,這也讓我一開始也是這樣。 – Alex