Эмулировать типы данных C в C#
Есть ли способ эмулировать специальные типы данных C, такие как uint64 (_int64), anyID (_int16) в C#? Я определил специальные типы данных в C следующим образом:
typedef unsigned _int16 anyID;
typedef unsigned _int64 uint64;
Это для использования TS3 Plugin API. Это должен быть C#, и я просто хочу использовать определенные в TS3 типы данных C в C#.
3 ответа
Эквивалентом typedef является using
:
using anyID = System.UInt16;
using uint64 = System.UInt64;
Размеры различных числовых типов в C# можно найти здесь: Таблица интегральных типов.
Следует отметить одну вещь: размеры различных числовых типов фиксированы в C#, в отличие от C, где они зависят от платформы, поэтому обычно избыточно определять псевдонимы для числовых размеров типа, таких как int64
,
Целые числа без знака уже предопределены См. типы MS C#
вкратце: ushort - это 16-битное целое число без знака, а ulong - 64-битное целое число без знака.
Для целых чисел без знака у вас есть ushort
, uint
а также ulong
, что эквивалентно unsigned int16
, unsigned int32
а также unsigned int64
соответственно.