`
xqf222
  • 浏览: 129031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C#与C++数据类型对应表(搜集整理一)

 
阅读更多
C#与C++数据类型对应表

C#调用DLL文件时参数对应表

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

类别

类名

说明

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

Unicode16 位)字符。

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 字符的不变的定长串。

分享到:
评论

相关推荐

    C++ 与 C# 数据类型对照(全)

    本人慢慢在网上各地收集及自己验证后总结的C/C++和C#的数据类型对照.没有完全 验证..组织部 类型太多了..要怪就怪C/C++的type define这个该死的语法 吧...

    c#调用c++DLL,dll有二维数组

    P/Invoke允许C#代码直接调用非托管(如C++)代码,并提供了数据类型转换的规则,以便两个不同语言的API可以顺利通信。 标题中的“c#调用c++DLL,dll有二维数组”意味着我们将在C++的DLL中定义一个二维数组,然后在...

    c# 调用c++对于字符串与复杂结构体的处理

    在跨语言编程中,C# 和 C++ 的交互是一个常见的需求。C# 是.NET Framework的主要开发语言,而C++则广泛用于系统级编程和高性能计算。由于两者在内存管理和类型系统上的差异,需要通过特定的方式来实现互操作。本文将...

    C# 调用C++ DLL的类型转换

    //C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) —- c#:System.IntPtr //c++:Byte(unsigned char) —- c#:System.Byte //c++:SHORT(short) —- c#...

    C#_VS2005调用C++DLL

    这个主题涉及到的知识点包括:C#的平台调用服务(P/Invoke)、C++ DLL导出函数、数据类型转换以及托管与非托管代码的交互。 首先,C++ DLL是Windows操作系统中的一种共享库,它包含可被其他程序调用的函数或数据。...

    C#调用C和C++动态库参数自动转换工具.rar

    3. **数据类型转换**:C#和C/C++的数据类型不完全相同,例如C#的`string`对应C的`const char*`,`int`对应`int32`等。转换工具可能自动处理这些转换,以确保参数正确传递。 4. **结构体转换**:C++中的结构体和C#中...

    C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.

    总之,C#调用C++涉及了平台调用、接口设计、数据类型匹配、错误处理、内存管理和性能优化等多个方面。理解这些知识点是实现高效、可靠跨语言通信的关键。在实际开发中,需要根据项目需求和团队技能选择合适的调用...

    C#调用C的DLL搜集整理的所有数据类型转换方式.pdf

    这涉及到不同语言间的数据类型转换,因为C#和C++的数据类型体系是不完全相同的。以下是对C++和C#之间数据类型转换的详细解释: 1. 基本类型转换: - `bool`:C++中的`bool`对应C#的`System.Boolean` - `unsigned ...

    C#调用C++dll[收集].pdf

    - **数据类型匹配**:确保C#和C++中的数据类型对应一致,例如,C#中的数组在C++中可能是指针。 总之,C#调用C++ DLL需要理解两种语言的差异,正确处理类型转换、调用约定和异常处理,确保跨语言通信的正确性和效率...

    C++编写DLL,分别让C++项目和C#项目调用

    2. **数据类型转换**:由于C++和C#的数据类型不完全相同,需要对参数和返回值进行适当的类型映射,例如,`int`在C#中对应`Int32`,`void*`对应`IntPtr`。 3. **安全性和异常处理**:C#中的P/Invoke操作可能会抛出`...

    C#与java的区别

    1. **简单数据类型**:C#中的值类型(Value Types)对应Java的简单数据类型(Primitive)。C#提供了更多的预定义数据类型,比如无符号整数类型(unit)。 2. **常量**:C#使用`const`声明常量,与Java的`static ...

    C#常用代码(个人收集)

    6. **泛型**:泛型提供了一种方式来编写可重用的代码,可以处理多种数据类型,如泛型类、泛型方法和泛型接口。 7. **LINQ(Language Integrated Query)**:C#的查询表达式(LINQ)允许开发者以更自然的语法进行...

    超越C++——C++/CLI

    C++/CLI通过语言层的语法映射到CTS,使得C++程序员可以创建和使用CTS的三种基本类型:多态引用类型(用于类继承)、非多态值类型(用于高效的数据类型,如数值类型)和抽象接口类型(定义一组公共操作的接口)。...

    C# 6.0 Draft Specification 英文版.pdf

    C# 6.0是微软公司开发的一种面向对象的编程语言,属于C语言家族的成员,与C、C++和Java程序员会感到非常熟悉。C#语言规范是C#编程的核心,其中包括了关于C#语言的详细定义,包括语法、关键字、类型系统、数据类型、...

    C#微软培训资料

    第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 编程语言 程语言编程语言 程语言 C#.4 1.1 Microsoft.NET——一场新的革命.4 1.2 .NET 与 C#.6 1.3 C#语言的特点.8 1.4 小 结 .11...

    C# vs Java

    C#中的简单数据类型(Primitive)包括整数、浮点数、字符串、布尔值等。这些类型都有其对应的字节长度和默认值。例如,整数类型包括sbyte、byte、short、ushort、int、uint、long、ulong等。 常量 在C#中,常量...

    C# 中操作API,作为初学者来说,在C#中使用API确是一件令人头疼的问题。在使用API之间你必须知道如何在C#中使用结构、类型转换、安全/不安全代码,可控/不可控代码等许多知识。

    C#中的结构是一种值类型,它存储在栈上,相比于引用类型的类,具有更快的访问速度。当你处理小型数据结构或需要高效内存管理时,结构是一个很好的选择。API可能提供结构作为参数或返回值,理解它们的工作原理是必要...

    Visual.C#.编程精彩百例

    实例96 C#与C++混合编程的应用 实例97 C#与VB混合编程的应用 实例98 C#组件与C#客户程序编程的应用 实例99 C#与XML联合应用XMLHelper 实例100 在C#中部署应用程序 附录 WinCV 参考文献 CLeopard 2012/01/07

    C#入门经典教程ppt课件.ppt

    .NET Framework中的另一个关键组件是公共类型系统(CTS),它定义了所有.NET语言都遵循的数据类型和语法规则,确保了不同语言之间的兼容性和互操作性。此外,.NET Framework还提供了一个庞大的类库,包括线程管理、...

Global site tag (gtag.js) - Google Analytics