C#学习笔记
文章平均质量分 78
phqde
这个作者很懒,什么都没留下…
展开
-
C#学习第一天
var(隐式类型):原理:编译器根据初始化值推断变量的真正类型。var只能在初始化变量时使用(编译器要根据初始值固化其正真类型),例如var myint = 100;编译器会推断出myint为int类型。 而var myint ; myint = 0;//错误。因为编译器无法知道myint的具体类型,也就无法后续对其进行各种操作了(包括赋值等操作)。一旦编译器确定了变量的类型,就不能更原创 2012-06-04 17:31:17 · 337 阅读 · 0 评论 -
C#学习第九天
C#中的析构函数:1、析构函数由系统调用,故不能用任何访问修饰符(private public internal protected)等修饰。2、析构函数不能存在参数(系统自身调用,语法类似静态构造函数)。3、析构函数只能用于引用类型(值类型由于是栈类型,超出作用域就释放内存了)。 只有在运行时回收对象时,析构器才被执行(如果存在析构函数)。而垃圾回收器是不定时运行的,所以析构器原创 2012-06-21 11:13:19 · 1239 阅读 · 0 评论 -
C#学习第八天
接口(Interface):C#中接口定义的规则:1、接口本身的默认访问级别为internal,即程序集本身访问级别2、接口中方法不能使用任何访问修饰符(例如 public private internal protected)等修饰。(系统自动为其设置为public)3、不能使用virtual修饰4、接口不能包含字段,无论是常量,还是实例字段,还是static字段,都不能包含原创 2012-06-20 17:19:58 · 1182 阅读 · 0 评论 -
C#学习第七天
C#中的params参数(参数数组): 1、params参数是数组。调用方式可以数组方式,也可以单个元素方式。 static void test(String name,params int[] scores) { StringBuilder sb = new StringBuilder(); foreach(int i i原创 2012-06-19 18:20:03 · 1158 阅读 · 0 评论 -
C#学习第六天
C#中数组:(数组长度为0并不代表数组为null)c#中的数组初始化(赋值)方式有2种。动态初始化、静态初始化。动态初始化:指定长度,元素初始值由编译器指定(0 false null)。例如:int[] arrint = new int[10];指定数组有10个元素,并初始化各元素的值(0)。静态初始化:指定初始化值,长度由编译器根据初始化的元素个数确定。例如 int[]原创 2012-06-19 11:01:22 · 1292 阅读 · 0 评论 -
C#学习第五天
C#中的 is 和 as:is 可用于任何类型。例如 int a = 10;a is Object ==true; Object o = 10;o is int ==true;o = person;o is int == false; as 右侧类型必须为引用类型或可空类型。as操作如果失败,不抛出异常,而是返回null; 结构(struc原创 2012-06-18 18:27:18 · 1259 阅读 · 0 评论 -
C#学习第三天
在C#类中,默认的方法、字段访问控制修饰符为private,这与Java不一样(java默认为本包访问级别)默认的接口、类、结构、枚举等访问修饰符为internal。 C#静态构造方法不允许出现访问修饰符,也不允许具有参数(由系统自己调用,类似Java的静态初始化块),仅允许一次。 /** * 静态构造方法不能带访问修饰符,不能带参数(他们由系统自己调用)原创 2012-06-15 11:36:17 · 329 阅读 · 0 评论 -
C#学习第四天
匿名类: /*原理:编译器根据初始化值推断变量的真正类型.。var只能在初始化变量时使用(编译器要根据初始值固化其正真类型),例如var myint = 100;编译器会推断出myint为int类型。 而var myint ; myint = 0;//错误。因为编译器无法知道myint的具体类型,也就无法后续对其进行各种操作了(包括赋值等操作)。 一旦编译器确定了变量的类型,就原创 2012-06-18 16:51:22 · 1119 阅读 · 0 评论 -
C#学习第二天
方法的可选参数: static void Main(string[] args) { testInfo(); /*Program p = new Program(); p.run();*/ testinfo();//a = 158,b = 10,f = 0.8原创 2012-06-05 09:45:40 · 328 阅读 · 0 评论 -
C#学习第十天
泛型: 协变:out T ,T只能用作函数返回值。 逆变:in T,T只能用作输入参数。 逆变协变更多内容:http://cnn237111.blog.51cto.com/2359144/902824 T varobj = default(T);如果T是引用类型,则default(T)=null,如果T是值类型,则default(T)等于对应的原创 2012-06-26 18:17:11 · 1282 阅读 · 0 评论