C#基础 1(异同与区别及其特点)

一.值类型与引用类型的主要区别

  1.值类型分配在栈上,引用类型分配在堆上

  2.值类型继承自ValueType,引用类型不会继承自ValueType

  3.值类型变量包含实例数据,而引用类型变量,保存了其数据的引用地址

  4.值类型不由GC(垃圾回收机制)管理,自动释放效率比引用类型高

  5.值类型不能被继承,而引用类型可以

  6.值类型不能为null,自动初始化为0,而引用类型默认为null

二.结构和类的区别

  1.结构是值类型,而类是引用类型

  2.结构不能从另外一个结构或类继承,并且不能被继承

  3.结构没有默认的构造函数,但是可以手动添加构造函数,类有默认的构造函数

  4.结构没有析构结构,而类有析构函数

  5.结构可以不使用new关键字,而类必须使用new关键字

三.泛型集合与非泛型集合的异同

  1.泛型集合可以对所保存的元素进行类型约束,而非泛型集合可以增加任何类型的元素

  2.泛型集合添加读取值类型元素时无需装箱和拆箱,而非泛型集合添加读取值类型元素时则需要装箱和拆箱

四.构造函数的特点

  1.方法名称与类名相同

  2.没有返回值类型

  3.主要完成对象的初始化工作

五.构造函数与析构函数的区别       1.构造函数和析构函数是在类体中说明的两种特殊的成员函数。       2.构造函数的功能是在创建对象时,使用给定的值来将对象初始化。       3.析构函数的功能是用来释放一个对象的。在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Web 开发

JS中的attribute和property

每一个dom节点,都有各自的attributes和properties。这两者很容易用混,尤其是在表单元素上面。

630
来自专栏WD学习记录

C#学习笔记(五)

简单的按照成员副职对象可以通过派生于System.Object的MemberwiseClone()方法来完成。这是一个受保护的方法,但很容易在对象上定义一个调用...

451
来自专栏用户3030674的专栏

java映射(map用法)

主要分三类:集合(set)、列表(List)、映射(Map) 1.集合:没有重复对象,没有特定排序方式 2.列表:对象按索引位置排序,可以有重复对象 3.映射...

792
来自专栏云霄雨霁

Java虚拟机--类加载的时机

1527
来自专栏.NET后端开发

C#委托使用详解(Delegates)

摘要 委托是C#编程一个非常重要的概念,也是一个难点。本文将系统详细讲解委托。 1. 委托是什么? 其实,我一直思考如何讲解委托,才能把委托说得更透彻。说实话,...

2675
来自专栏微信公众号:Java团长

浅析Java中的final关键字

  谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今...

321
来自专栏小樱的经验随笔

【Java学习笔记之十九】super在Java继承中的用法小结

1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建属性的初始化,这样在一个构造函数中调用另外一个构造函数,可以避免重复的代码量,减少...

3255
来自专栏java一日一条

10个经典的 Java main 方法面试题

在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。

452
来自专栏Java Edge

虚拟机的类加载机制1 类加载的时机

24710
来自专栏coding for love

JS入门难点解析7-this

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

531

扫描关注云+社区