C#小结

    看完C#之后,发现其中很多的东西在都是似曾相识的,没错,这和之前学习C++有很大的关系,其实C#与C++在很多地方都是有相同之处的,不过C#去掉了C++的一些复杂东西,又增添了自己部分新的东西,

我们已经知道C#是完全面向对象的,且C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进 。

  Ø  C#与C++对比

    1.C++里面有指针,而C#里面没有。指针带来的好处是带来强大的灵活性和高效的效率,但是有时会因为不正确的使用指针造成很多的问题。

    2.C++里面有构造函数和析构函数,而C#里同样有构造函数,但是C#自带清理功能,一般不需要析构函数。通过new在堆中创建对象。

    3.C++里面存在深拷贝和浅拷贝,同样在C#里面存在一个深浅复制。都是给用于分配存储空间的。

    4.C++里面有指针,但是C#里面存在delegate,即代理,C#中的参数传递,分为传值和传址两种,传址时需要加 ref 或者 out(传回改变) 关键字

    5.程序运行时不一样,同样是程序入口,C++是int main();而C#的程序入口是static void Main(string[] args)

    6.C++中有头文件,C#中去除了头文件,并且命名空间的写法也不同于C++。

    7.C++支持单继承和类的多继承,但是C#不支持类的多继承,但是多态可以通过接口的多继承来实现。

    8.数组的表示不一样,C++:数据类型数组名[常量表达式];C#:数据类型[常量表达式] 数据名;

    9.C++中的数据转换有装箱和拆箱,而C#除此之外还有就是Convert及拆箱和装箱。

    10.C++里面没有委托和事件,而这个在C#里面是被添加的。

    11.C#里面存在全局变量,在C++却没有发现。

    12.C++中的switch后的参数必须是字符型或者整型。C#里面试允许string等类型的。

    13.C#的语法中多了 foreach语句; 而C++中需要用C++标准库的函数实现类似功能。

    14.C++中抽象类和虚函数在子类中实现的方式不一样,在C++中是写上虚方法,加上返回值类型,默认为void;在C#中通过对抽象类的抽象方法或者虚方法进行重写,常利用关键字(overide)来实现。

      ……

  Ø  C#总结图如下图,点击见大图




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值