有没有办法在 C# 中模拟特殊的 C 数据类型,例如 uint64 (_int64)、anyID (_int16)?我在 C 中定义了这样的特殊数据类型:
typedef unsigned _int16 anyID;
typedef unsigned _int64 uint64;
它用于使用 TS3 插件 API。不过它必须是 C#,我只想在 C# 中使用来自 TS3 定义的 C 数据类型。
typedef 的等价物是using
:
using anyID = System.UInt16;
using uint64 = System.UInt64;
C# 中不同数值类型的大小可以在这里找到:Integral Types Table。
需要注意的一件事:不同数字类型的大小在 C# 中是固定的,这与在 C 中依赖于平台的 C 不同,因此通常为数字类型大小定义别名是多余的,例如int64
.
无符号整数已经预定义参见MS c# types
简而言之:ushort 是一个无符号的 16 位整数,而 ulong 是一个无符号的 64 位整数。
对于无符号整数,您有ushort
,uint
和ulong
,分别相当于unsigned int16
,unsigned int32
和unsigned int64
。