下表列出了 .NET Framework 支援的一些實值型別,簡要描述了每個類型,並指示 Visual Basic、C# 和 C++ 託管擴充中的相應類型。表中還包括 Object 和 String 類的項,這些項在許多語言中都有相應的關鍵字。
類別 |
類名 |
說明 |
Visual Basic 資料類型 |
C# 資料類型 |
C++ 託管擴充資料類型 |
JScript 資料類型 |
整數 |
Byte |
8 位的不帶正負號的整數。 |
Byte |
byte |
char |
Byte |
|
SByte |
8 位的有符號整數。 不符合 CLS 規範。 |
SByte 無內建類型。 |
sbyte |
signed char |
SByte |
|
Int16 |
16 位的有符號整數。 |
Short |
short |
short |
short |
|
Int32 |
32 位的有符號整數。 |
Integer |
int |
int - 或 - long |
int |
|
Int64 |
64 位元的有符號整數。 |
Long |
long |
__int64 |
long |
|
UInt16 |
16 位的不帶正負號的整數。 不符合 CLS 規範。 |
UInt16 無內建類型。 |
ushort |
unsigned short |
UInt16 |
|
UInt32 |
32 位的不帶正負號的整數。 不符合 CLS 規範。 |
UInt32 無內建類型。 |
uint |
unsigned int - 或 - unsigned long |
UInt32 |
|
UInt64 |
64 位元的不帶正負號的整數。 不符合 CLS 規範。 |
UInt64 無內建類型。 |
ulong |
unsigned __int64 |
UInt64 |
浮點 |
Single |
單精確度(32 位)浮點數字。 |
Single |
float |
float |
float |
|
Double |
雙精確度(64 位元)浮點數字。 |
Double |
double |
double |
double |
邏輯 |
Boolean |
布爾值(真或假)。 |
Boolean |
bool |
bool |
bool |
其他 |
Char |
Unicode(16 位)字元。 |
Char |
char |
wchar_t |
char |
|
Decimal |
96 位十進位值。 |
Decimal |
decimal |
Decimal |
Decimal |
|
IntPtr |
大小取決於基礎平台(32 位平台上為 32 位值,64 位元平台上為 64 位元值)的有符號整數。 |
IntPtr 無內建類型。 |
IntPtr 無內建類型。 |
IntPtr 無內建類型。 |
IntPtr |
|
UIntPtr |
大小取決於基礎平台的不帶正負號的整數(32 位平台上為 32 位值,64 位元平台上為 64 位元值)。 不符合 CLS 規範。 |
UIntPtr 無內建類型。 |
UIntPtr 無內建類型。 |
UIntPtr 無內建類型。 |
UIntPtr |
類對象 |
Object |
對象階層的根。 |
Object |
object |
Object* |
Object |
|
String |
Unicode 字元的不變的定長串。 |
String |
string |
String* |
String |
平台叫用資料類型
Wtypes.h 中的非託管類型 |
非託管 C 語言類型 |
託管類名 |
說明 |
HANDLE |
void* |
System.IntPtr |
32 位 |
BYTE |
unsigned char |
System.Byte |
8 位 |
SHORT |
short |
System.Int16 |
16 位 |
WORD |
unsigned short |
System.UInt16 |
16 位 |
INT |
int |
System.Int32 |
32 位 |
UINT |
unsigned int |
System.UInt32 |
32 位 |
LONG |
long |
System.Int32 |
32 位 |
BOOL |
long |
System.Int32 |
32 位 |
DWORD |
unsigned long |
System.UInt32 |
32 位 |
ULONG |
unsigned long |
System.UInt32 |
32 位 |
CHAR |
char |
System.Char |
用 ANSI 修飾。 |
LPSTR |
char* |
System.String 或 System.StringBuilder |
用 ANSI 修飾。 |
LPCSTR |
Const char* |
System.String 或 System.StringBuilder |
用 ANSI 修飾。 |
LPWSTR |
wchar_t* |
System.String 或 System.StringBuilder |
用 Unicode 修飾。 |
LPCWSTR |
Const wchar_t* |
System.String 或 System.StringBuilder |
用 Unicode 修飾。 |
FLOAT |
Float |
System.Single |
32 位 |
DOUBLE |
Double |
System.Double |
64 位元 |