网上资源真是丰富啊,好东西值得收藏。

下表列出了 .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 位