0

有没有办法在 C# 中模拟特殊的 C 数据类型,例如 uint64 (_int64)、anyID (_int16)?我在 C 中定义了这样的特殊数据类型:

typedef unsigned _int16 anyID;
typedef unsigned _int64 uint64;

它用于使用 TS3 插件 API。不过它必须是 C#,我只想在 C# 中使用来自 TS3 定义的 C 数据类型。

4

3 回答 3

2

typedef 的等价物是using

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

C# 中不同数值类型的大小可以在这里找到:Integral Types Table

需要注意的一件事:不同数字类型的大小在 C# 中是固定的,这与在 C 中依赖于平台的 C 不同,因此通常为数字类型大小定义别名是多余的,例如int64.

于 2017-03-03T09:34:13.880 回答
0

无符号整数已经预定义参见MS c# types

简而言之:ushort 是一个无符号的 16 位整数,而 ulong 是一个无符号的 64 位整数。

于 2017-03-03T09:32:42.010 回答
0

对于无符号整数,您有ushort,uintulong,分别相当于unsigned int16,unsigned int32unsigned int64

于 2017-03-03T09:32:53.280 回答