2012年12月16日
摘要: 接口1、接口本质就是一个特殊的抽象类2、定义规范。光说不做3、默认就是public abstract,在接口中定义方法的时候不能写访问修饰符4、接口中不能定义字段5、接口不能包含构造函数(构造函数一般是用来初始化字段的值,而接口中是没有字段的,所以不能包含结构函数)6、接口中也可以定义属性(属性本质就是方法,而在编译的时候这个属性的get set 块变成抽象方法等着类区实现,不会生成字段)7、接口是不能被实例化的,实现了接口的类必须要实现接口中所有的成员接口与抽象类的区别8、抽象类中可以有非抽象成员,接口只能定义方法属性 索引器 事件9、什么时候用抽象类,什么时候用接口A类的成员需要被继承并且 阅读全文
posted @ 2012-12-16 00:08 陈谨 阅读(111) 评论(0) 推荐(0) 编辑
  2012年12月13日
摘要: 预定义类型 int i1=12等(最后转为Int32 i1=new Int32(),i1=12)基元类型:Int32等值类型继承于ValueType ---------ObjectEquals方法Equals方法是定义在Object类的一个虚方法在 Object的虚方法定义的规则的时比较对象的地址(如果想自定义,需在类中重写object’类中的虚方法)在ValueType类中重写了Equals方法,定义的规则就是比较值类型中的所有字段的值SealedSealed修饰的类叫做密封类,密封类不能被继承String 是密封类密封类中不能有虚方法,因为密封类不能被继承多态同一种行为,不同的人具有不同的 阅读全文
posted @ 2012-12-13 23:24 陈谨 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 52 //单例模式的实现步骤53 //1. 构造函数私有化 2.定义1个私有的静态的这个类 类型的变量54 //3. 写1个公共的 静态的 方法 返回这个类的对象的引用55 // 判断静态字段是否是null 如果是null 就new1个 否则直接返回View Code 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace SingleDemo 7 { 8 ... 阅读全文
posted @ 2012-12-13 23:06 陈谨 阅读(104) 评论(0) 推荐(0) 编辑
  2012年12月12日
摘要: 部分是转载枚举、结构体、数组和集合一、值类型 C#支持两种值类型:枚举和结构1.1 枚举(enum) 1)和所有值类型一样,枚举可以使用?修饰符来创建一个可空的枚举变量,如:Season? colorful=null; 2)可以指定枚举的类型,如: enum Season{spring=1,summer,fall,winter}可以,也可以像下面这样声明: enum Season:short{spring,summer,fall,winter} 一种枚举看可以基于8种整数类型的任何一种:byte,sbyte,short,ushort,int,uint,long或者ulong 1.2... 阅读全文
posted @ 2012-12-12 23:04 陈谨 阅读(1400) 评论(0) 推荐(0) 编辑
摘要: 转载http://www.cnblogs.com/jakeshi/archive/2008/04/16/1156010.html.net/c#中栈和堆的区别及代码在栈和堆中的执行流程详解之一原文出处:http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(Garbage Collection),但是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理工作机制的 阅读全文
posted @ 2012-12-12 22:59 陈谨 阅读(498) 评论(1) 推荐(0) 编辑
摘要: View Code 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Demo001 7 { 8 class Program 9 {10 static void Main(string[] args)11 {12 #region MyRegion13 //Person p = new Person();14 ... 阅读全文
posted @ 2012-12-12 21:16 陈谨 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 引用类型的值可以为null 阅读全文
posted @ 2012-12-12 21:10 陈谨 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2012-12-12 21:01 陈谨 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 属性与字段转载字段可以有静态的,但是属性必须是实例的其实有些属性能实现的功能,字段也能实现,但是不鼓励用字段来实现,因为OOP和编程的一个原则就是数据封装,意味着我们不应该将字段的类型以公开的方式提供给外界。还有一些原因,例如我们可能希望访问一个字段的同时执行一些额外的操作,或者缓存某个数值,或者延迟创建某个内部对象。我们也可能希望对字段的访问是线程安全的。或者字段可能只是一个逻辑表示,其真正的值并不是以字节的形式存放在内存中,而是通过某种算法计算得来的所以建议将所有的字段访问限制为私有 主题:这篇文章我来说下属性(Properties)和字段在C#中的关系。首先申明一下,这里讲的属性就是通常 阅读全文
posted @ 2012-12-12 20:38 陈谨 阅读(344) 评论(0) 推荐(0) 编辑
摘要: ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。注:在C#中,方法的参数传递有四种类型:传值 阅读全文
posted @ 2012-12-12 20:23 陈谨 阅读(184) 评论(0) 推荐(0) 编辑