前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#学习笔记(五)

C#学习笔记(五)

作者头像
发布2018-09-03 16:37:05
2780
发布2018-09-03 16:37:05
举报
文章被收录于专栏:WD学习记录WD学习记录

1. 浅度复制和深度复制

简单的按照成员副职对象可以通过派生于System.Object的MemberwiseClone()方法来完成。这是一个受保护的方法,但很容易在对象上定义一个调用该方法的公共方法。这个方法提供的复制功能称为浅度复制。因为它没有考虑引用类型成员。因此,新对象中的引用成员就会指向与源对象中相同的成员对象,在许多情况下这并不理想。如果 要创建成员的新实例(复制值而不复制引用),此时需要使用深度复制。

2. 

3. 方法定义中使用的关键字

virtual:方法可以重写

abstract:方法必须在非抽象的派生类中重写(只用于抽象类中)

override:方法重写了一个基类方法(如果方法被重写,就必须使用该关键字)

extern:方法定义放在其他地方

4. 接口的定义与类的定义不一样的地方

5. 部分类、部分方法partial

6. 封箱和拆箱

封箱是把值类型转换为System.Object类型,或者转换为由值类型实现的接口类型。拆箱是相反的过程。

7. 转换

  (1) 重载运算符

            隐式转换

            ConvClass1 op1 = new ConvClass1();

            ConvClass2 op2 = op1;

            显式转换

            ConvClass1 op1 = new ConvClass1();

            ConvClass2 op2 = (ConvClass2)op1;

   (2)as运算符

            使用下面的语法,把一种值类型转换为指定的引用类型

            <operand> as <type>

            这只适用于下列情况

            <operand>的类型是<type>类型

            <operand>可以隐式转换为<type>

            <operand>可以封箱到<type>类型中

            如果不能从<operand>转换为<type>,表达式的结果为null

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年09月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档