C#学习笔记 day three

Chapter 3 类型

3.3引用类型

引用类型的变量也成为对象,有六种类型:
(1)对象类型

(2)字符串类型

(3)类类型

(4)数组类型

(5)接口类型

(6)委托类型

在使用引用类型的变量的之前,要先判断该变量的值是不是null。如果是的话就不能直接访问

1.类类型:支持继承机制

2.对象类型:内置的引用类型,即System.object

3.字符串类型:表示零或者更多的unicode字符组成的序列,对应着System.string,使用双引号创建,一旦被创建它的创建的内存中的内容就不能被修改,要改变值只能够重新分配一块新的内存

4.数组类型:在声明数组的时候,元素类型之后要紧跟着中括号

5.接口类型:接口只是一种数据结构,可以声明数据成员和函数成员,它只能声属性,方法和事件,但是不能实现这些属性,方法和事件

6.委托类型:它能够引用一个或者多个的方法,能够将方法作为参数进行传递,并且还可以定义回调方法

3.4装箱和拆箱

作用:值类型和引用类型的值的相互转换

引用类型总被分配在托管堆上,值类型被分配在堆栈上

1.装箱:将值类型转换为引用类型,具体过程是:首先分配一个对象实例,然后将值类型的值复制到该实例中,对于引用实例来说,装箱前后都共享同一个实例

四种常见的装箱:
(1)值类型到object类型

(2)值类型到System.ValueType类型

(3)值类型到值类型实现的接口类型

(4)枚举类型到System.Enum类型

2.拆箱:将引用类型转换为值类型,具体的过程是:检查改对象实例是否为给定值类型的一个装了箱的值,将值从实例中复制出来(比装箱多了检查那一步)

四种常见的拆箱:

就是把前面的装箱的过程反过来

C#学习笔记 day_three的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. Leetcode_27_Remove Element

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41577997 Remove Element Given a ...

  2. Java最最常用的100个类排序(非官方)

    下面这句话是引用"大部分的 Java 软件开发都会使用到各种不同的库.近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库, ...

  3. Linux进程实践(3) --进程终止与exec函数族

    进程的几种终止方式 (1)正常退出 从main函数返回[return] 调用exit 调用_exit/_Exit (2)异常退出 调用abort   产生SIGABOUT信号 由信号终止  Ctrl+ ...

  4. Linux Shell 命令--tr

    tr        用来从标准输入中通过替换或删除操作进行字符转换                -c或--complerment 取代所有不属于第一字符集的字符.                -d ...

  5. unity描边效果

    这里总结了几种在unity实现描边效果的方法,首先准备一个模型导入在unity中,使用默认shader,上传一张原始图,以便后面实现功能效果的对比 一.边缘光,这里参照官方的一个SurfaceShad ...

  6. 使用HTML5抓取 Audio & Video

    原文地址: http://www.html5rocks.com/en/tutorials/getusermedia/intro/ 本地化的文章: http://www.html5rocks.com/z ...

  7. 用LED灯和按键来模拟工业自动化设备的运动控制

    开场白: 前面三节讲了独立按键控制跑马灯的各种状态,这一节我们要做一个机械手控制程序,这个机械手可以左右移动,最左边有一个开关感应器,最右边也有一个开关感应器.它也可以上下移动,最下面有一个开关感应器 ...

  8. Java-ServletResponse-ServletResponseWrapper

    /** * Defines an object to assist a servlet in sending a response to the client. * The servlet conta ...

  9. OpenCV 金字塔图像缩放

    // image_pyramid.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #incl ...

  10. "《算法导论》之‘图’":单点最短路径(有向图)

    也许最直观的图处理问题就是你常常需要使用某种地图软件或者导航系统来获取从一个地方到另一个地方的路径.我们立即可以得到与之对应的图模型:顶点对应交叉路口,边对应公路,边的权重对应该路段的成本(时间或距离 ...