C#学习笔记(五)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习和数学

[编程经验] Python 字符串的几种判断方法

Python处理字符串类型功能真的是很强大,遇到了一些我没用过的方法,感觉挺好用的,就写在这里,供大家参考。 s.isalnum() 所有字符都是数字或...

2624
来自专栏Android干货园

Kotlin中级(7)- - - Kotlin类之抽象类、重载和重写.md

abstract 其中值得注意的是:抽象可以分为抽象类、抽象函数、抽象属性。而一个抽象类和普通类的区别在于抽象类除了可以有其自己的属性、构造函数、方法等组成部...

902
来自专栏柠檬先生

Java 基础标识符

标识符: 程序员为自己定义的类,方法或者变量等起的名称。     标识符由大写字母,数字,下划线(_)和美元符号组成,但不能以数字开头。 Java 语言中严格区...

2095
来自专栏PPV课数据科学社区

Python 正则表达式

? 简介 正则表达式(regular expression)是可以匹配文本片段的模式。最简单的正则表达式就是普通字符串,可以匹配其自身。比如,正则表达式 ‘h...

3926
来自专栏行者常至

泛型中获取到Class

3382
来自专栏Petrichor的专栏

tensorflow编程: Control Flow

经验证,a1 = t 得到的是 t,a2 = tf.identity(t) 得到的不是 t ,只是 t 的副本。这样有利于用副本进行运算而不引起 原tensor...

1615
来自专栏小鹏的专栏

用一个脚本学习 python

# -*- coding: utf-8 -*- # Python 2.7 学习参考脚本 # print 打印函数 print "Hello Worl...

2897
来自专栏北京马哥教育

Python Re 模块最全解读: 11703 字帮你彻底掌握

re模块下的函数 compile(pattern):创建模式对象 import re pat=re.compile('A') m=pat.search('CBA...

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

Java泛型详解——绝对是对泛型方法讲解最详细的,没有之一!

ArrayList可以存放任意类型,例子中添加了一个String类型,添加了一个Integer类型,再使用时都以String的方式使用,因此程序崩溃了。为了解决...

961
来自专栏伦少的博客

scala 下划线使用指南

原文地址:https://my.oschina.net/joymufeng/blog/863823   作者:joymufeng

3588

扫码关注云+社区