Маршалинг типов в C#
| Примитивные | ||||||||
|---|---|---|---|---|---|---|---|---|
| Тип | Бит 86 | Бит 64 | Байт 86 | Байт 64 | Any CPU | 32 | 64 | значение |
| char | 8 | 8 | 1 | 1 | sbyte | sbyte | sbyte | -128 to 127 |
| char unsigned | 8 | 8 | 1 | 1 | byte | byte | byte | 0 to 255 |
| short | 16 | 16 | 2 | 2 | short | short | short | -32,768 to 32,767 |
| short unsigned | 16 | 16 | 2 | 2 | ushort | ushort | ushort | 0 to 65,535 |
| int | 32 | 64 | 4 | 8 | IntPtr | int | long | зависит от компилятора |
| int unsigned | 32 | 64 | 4 | 8 | UIntPtr | uint | ulong | зависит от компилятора |
| long | 32 | 64 | 4 | 8 | IntPtr | int | long | зависит от компилятора |
| long unsigned | 32 | 64 | 4 | 8 | UIntPtr | uint | ulong | зависит от компилятора |
| long long | 64 | 64 | 8 | 8 | long | long | long | -9223372036854775808 to +9223372036854775807 |
| long long unsigned | 64 | 64 | 8 | 8 | ulong | ulong | ulong | 0 to +18446744073709551615 |
| float | 16 | 16 | 4 | 4 | float | float | float | 7 значимых цифр |
| double | 32 | 32 | 8 | 8 | double | double | double | 15 значимых цифр |
| long double | 64 | 64 | 16 | 16 | long double | long double | long double | ? |