C++/CLI与C#常用语法对比(转)

转载 2004年10月16日 12:35:00

(转)Zeng Yi's Blog

Kenny Kerr 一篇名为C++: The Most Powerful Language for .NET Framework Programming<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

文章中的对比表,十分清晰的展示了版本2语言中设计的简洁和与原生语言的接近。值得参考:

 

描述

C++/CLI

C#

创建引用类型的对象

ReferenceType^ h = gcnew ReferenceType;

ReferenceType h = new ReferenceType();

创建值类型的对象

ValueType v(3, 4);

ValueType v = new ValueType(3, 4);

引用类型在堆栈上

ReferenceType h;

N/A

调用Dispose方法

ReferenceType^ h = gcnew ReferenceType;

delete h;

ReferenceType h = new ReferenceType();

((IDisposable)h).Dispose();

实现Dispose方法

~TypeName() {}

void IDisposable.Dispose() {}

实现Finalize 方法

!TypeName() {}

~TypeName() {}

装箱(Boxing

int^ h = 123;

object h = 123;

拆箱(Unboxing

int^ hi = 123;

int c = *hi;

object h = 123;

int i = (int) h;

定义引用类型

ref class ReferenceType {};

ref struct ReferenceType {};

class ReferenceType {}

定义值类型

value class ValueType {};

value struct ValueType {};

struct ValueType {}

使用属性

h.Prop = 123;

int v = h.Prop;

h.Prop = 123;

int v = h.Prop;

定义属性

property String^ Name
{
    String^ get()
    {
        return m_value;
    }
    void set(String^ value)
    {
        m_value = value;
    }
}

string Name
{
    get
    {
        return m_name;
    }
    set
    {
        m_name = value;
    }
}

C++/CLI与C#常用语法对比

转载自:http://www.cnblogs.com/areliang/archive/2011/11/16/2251573.html 十分清晰的展示了版本2语言中设计的简洁和与原生语言的接近。...
  • qingzai_
  • qingzai_
  • 2016年12月02日 16:44
  • 736

C#与C++/CLI混合编程

最近做项目用到了一个二维码识别的SDK,想在C#里做个界面去调用该库生成和解析二维码,原本之前做过在C#里调用DLL的研究,没想到这次的尝试会异常的艰难,听我慢慢说来。         先用go...
  • Plutus_Lee
  • Plutus_Lee
  • 2013年12月12日 22:01
  • 1753

[C++/CLI] C# C++/CLI 混合编程类型转化注意事项

转自:http://bimcad.org/thread-1298-1-1.html   (出处: 数字建筑) 微软提供了msclr::interop用来实现托管类型和本地类型的转化。 示例代码如下...
  • xk641018299
  • xk641018299
  • 2016年11月30日 15:10
  • 394

C++,CLI,C#之间交互

转自:      http://www.cppblog.com/mzty/archive/2007/04/16/22064.html C#界面,C++算法 C#界面,C++核心算法(.NET与C...
  • normallife
  • normallife
  • 2011年05月25日 00:19
  • 4032

C#DLL托管c++ (CLI) String^ 到 std::string 的相互转化

当使用C++/CLI包装C++本地代码时,常常需要将System::String转换为std::string或者char*以调用native C++函数。.net环境中的字符串是unicode的,占2...
  • qq_35040828
  • qq_35040828
  • 2017年10月25日 16:40
  • 295

C++实现调用C#(CLI)方法

http://blog.csdn.net/biyusr/article/details/7575720 把C#编译成DLL或者Axtive控件,再由C调用 ! 比如使用C++调用C#的DLL S...
  • kenkao
  • kenkao
  • 2015年11月11日 08:44
  • 2735

C++/CLI 中字符串类型的转化: 把System::String转化为std::string

Stan Lippmans BLog.DoNotDisplay { display: none; }System::String -> std::string A reader asks, Sende...
  • Veiz
  • Veiz
  • 2006年03月26日 05:27
  • 3078

C++/CLI 托管C++的托管与非托管字符串的相互转换【1】

介绍托管与非托管字符串的相互转换的方法,提供源码!
  • aoshilang2249
  • aoshilang2249
  • 2014年07月15日 16:45
  • 1838

C++/CLI 托管C++的数据类型介绍【2】

CLI: 公共语言基础构造(Common Language Infrastructure),是由ECMA(欧洲计算机制造商协会)成立专家组,并结合ISO 标准、开发形成的一个可扩展语言标准。   ...
  • aoshilang2249
  • aoshilang2249
  • 2015年01月01日 08:52
  • 1234

C#/C++/CLI运行效率测试之一: C#通过CLR/C++调用Native CPP 类

综述 : 本文章介绍.Net 环境下C# 通过托管C++调用本地C++ Dll文件, 示例环境为:VS2010, .Net4.0, Win7. 具体事例为测试C++, C#, 及C#调用本地C++...
  • chifuqi
  • chifuqi
  • 2011年12月29日 20:59
  • 7429
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++/CLI与C#常用语法对比(转)
举报原因:
原因补充:

(最多只允许输入30个字)