类型基础---CLR Via C#笔记一】的更多相关文章

一.所有类型都是从System.Obejct派生 1.下面两个类型定义是完全一致的: class Employee{ ... } class Employee:System.Object{ ... } 2.System.Object的公共实例方法 a.Equals 判断对象是否具有相等的值 b.GetHashCode 返回对象值的哈希码 c.ToString 该方法默认返回类型的完整名称( this.GetType().FullName ) d.GetType 返回从Type派生的一个对象的实例…
CLR-基元类型以及溢出检查   =========(CLR via C#阅读笔记)======== 基元类型(primitive type): 基元类型也不做过多的解释,举个例子即可清晰的辨别 在java里曾使用过Sting s="java"; 定义字符串,然后就会觉得很诧异,为啥是大写开头,我写C#,一直都是 string ,int ,double,float等等小写开头,这时候,来了解基元类型方可解惑. 1 int a=0; 2 System.Int32 a=0; 3 int a…
Cp4类型基础 Object类型 Object是所有类型的基类,有Equals,GetHashCode,ToString,GetType四个公共方法,其中GetHashCode,ToString可以override. 受保护方法有MemeberwiseClone,Finalize. 所有对象必须用new来创建,引用可以看成是安全的指针,指向真实对象在内存中的地址. 类型转换 隐式转换,显示转换,类型伪装 C#操作符is as 命名空间 结合现实的行政划分理解就很容易:using导入命名空间:别名…
C#学习笔记——面向对象.面向组件以及类型基础 目录 一 面向对象与面向组件 二 基元类型与 new 操作 三 值类型与引用类型 四 类型转换 五 相等性与同一性 六 对象哈希码 一 面向对象与面向组件 在面向对象出现之前,程序是由一系列相互关联的模块和子程序组成,编程采用过程的方式,代码中有一条主线,决定需要完成哪些步骤.后来,面向对象出现了,它是对软件领域的杰出贡献,是软件设计中的里程碑.在软件发展速度远远落后硬件发展速度的时代,它的出现无疑是一种激励.它把程序想象成一系列的相互交互的对象,…
原文:[CLR via C#]4. 类型基础及类型.对象.栈和堆运行时的相互联系 CLR要求所有类型最终都要从System.Object派生.也就是所,下面的两个定义是完全相同的, //隐式派生自System.Object class Employee { ..... } //显示派生子 System.Object class Employee : System.Object { ..... } 由于所有类型最终都是从System.Object派生的,所以可以保证每个类型的每个对象都有一组最基本…
<C#从现象到本质>读书笔记第3章C#类型基础(下) 常量以关键字const修饰.C#支持静态字段(类型字段)和实例字段. 无参属性的get方法不支持参数,而有参属性的get方法支持传入一个或更多参数,set方法支持传入两个或更多参数. 通过属性的封装,保留了它与外部交互的能力,又实现了一种可靠的读写机制. static关键字只能用于类而不能用于结构. 不能显式地为结构声明无参数地构造函数. 静态构造函数的目的是为了安全地给静态成员赋值. 当创建第一个实例之前,堆上没有类型对象,所以要调用静态…
<C#从现象到本质>读书笔记第二篇 第2章 C#类型基础(上) 类型指的是集合{类,结构,接口,枚举,委托}中的任意一个成员.任何拥有某类型的值(value)称为某类型的一个实例(instance). 类型可以被分为值类型(结构,枚举,整型,布尔型,datetime)以及引用类型(类.接口.指针.字符串.委托.数组). C#支持6种类型访问修饰符.访问范围大小排序为: 1)public:没有限制. 2)protected internal:只能在所在程序集.定义的类型或派生类型进行访问. 3)…
所有类型都从System.Object派生 “运行时”要求每个类型最终都要从System.Object类型派生.也就是说,一下两个类型的定义完全一致. //隐式派生自Object class Employee{ … } //显式派生自Object class Employee: System.Object{ } 由于所有类型最终都从System.Object派生,所以每个类型的每个对象都保证了一组最基本的方法.具体地说,System.Object类提供了如表4-1所示的公共实例方法. 此外,从S…
引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone 其实也就是对象复制.复制又分为了浅度复制(Shallow Copy)和 深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的.由此又引出了 引用类型 和 值类型,以及相关的对象判等.装箱.拆箱等基础知识. 于是我干脆新起一篇,从最基础的类型开始自底向上写起了.我仅仅想将对于这个主题的理解表述出来,…
引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制.复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的.由此又引出了 引用类型和 值类型,以及相关的对象判等.装箱.拆箱等基础知识. 于是我干脆新起一篇,从最基础的类型开始自底向上写起了.我仅仅想将对于这个主题的理解表述出来,一是总…