C# 支持两种类型:“值类型”和“引用类型”。 值类型(Value Type)(如 char、int 和 float)、枚举类型和结构类型。 引用类型(Reference Type) 包括类 (Class) 类型、接口类型、委托类型和数组类型。 如何来划分它们?以它们在计算机内存中如何分配来划分 值 ...
今天重温了一下C++ Primer,对上面三个概念有了更清晰的认识,自我认为已经有了比较全面的理解了,所以赶紧记录下来,也请大家批评指正。 1.引用 引用,简单来说就是为对象起了一个别名,可以用别名来等同于操作对象,通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名,即引用变量的别名: ...
分类:
其他好文 时间:
2019-10-09 09:40:36
阅读次数:
154
在C# 中,变量分为一下几种类型: 值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types) 首先看到的是值类型(Value type) 值类型变量可以直接分配给一个值。他们是从类 System.ValueType中派生的。 值类型直接包含 ...
装箱 拆箱的作用就是为了引用类型和基本数据类型的转化,装箱就是把基本数据类型转换成引用类型。拆箱则是将引用数据类型转换成基本数据类型 装箱:就是简而言之包装类型,将基本数据类型转换成引用数据类型。 拆箱:就是简而言之将引用类型转换成基本数据类型。 枚举:枚举主要就是声明一些列的常量,比如星期一,星期 ...
分类:
其他好文 时间:
2019-10-08 22:27:08
阅读次数:
116
前言: 判断基本类型用: typeof, 判断引用类型用: instanceof 注意: 1. typeof可以当关键字使用, 也可以当函数使用, 它可以检测基本类型, 但无法检测引用类型. 2. instanceof 只能作关键字使用, 可以检测引用类型, 不能检测基本类型. 第一步: typeo ...
分类:
其他好文 时间:
2019-10-08 14:41:21
阅读次数:
137
前言: 基本类型(数值 / 字符串 / 布尔值)和引用类型(对象)作为参数传递给函数时的行为是不一样的. 基本类型传递的是值的地址, 它在函数内部的改变不会影响到原变量. 引用类型传递的是引用的地址, 它在函数内部的改变实际上是对原变量的改变. 第一步: 下面演示基本类型的值做实参时的情况 注意: ...
分类:
其他好文 时间:
2019-10-08 12:48:47
阅读次数:
111
定义: 例子: 该例程中只创建了一个对象,x,y都是只向包含该内存的位置,因此他们都是引用类型变量,什么这两个变量只是保留了一个引用。由此结论,x,y引用的是同一个对象,对x的修改会影响y,反之亦然。 例程运行结果: 30 10 ...
六种基本数据类型 undefined null string boolean number symbol(ES6) 一种引用类型 Object 为什么要引入 Symbol? ES5的对象中的属性名是字符串,容易造成属性名的冲突,如果有一种机制,保证每个属性的名字都是独一无二的,就可以从根本上防止属性 ...
分类:
编程语言 时间:
2019-10-05 20:21:29
阅读次数:
105
重点、难点 方法的参数传递(重点、难点) 1.形参:方法声明时,方法小括号内的参数 实参:调用方法时,实际传入的参数的值 2.规则:java中的参数传递机制:值传递机制 1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量 2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空 ...
分类:
其他好文 时间:
2019-10-05 14:38:28
阅读次数:
73
大家都知道引用类型对象除实例字段的开销外,还有两个字段的开销:类型指针和同步块索引(SyncBlockIndex)。同步块索引这个东西比起它的兄弟类型指针更少受人关注,显得有点冷落,其实此兄功力非凡,在CLR里可谓叱咤风云,很多功能都要借助它来实现。 接下来我会用三篇来介绍同步块索引在.NET中的所 ...
分类:
其他好文 时间:
2019-10-05 01:07:43
阅读次数:
125