![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#学习笔记
文章平均质量分 78
phqde
这个作者很懒,什么都没留下…
展开
-
C#学习第一天
var(隐式类型): 原理:编译器根据初始化值推断变量的真正类型。var只能在初始化变量时使用(编译器要根据初始值固化其正真类型),例如var myint = 100;编译器会推断出myint为int类型。 而var myint ; myint = 0;//错误。因为编译器无法知道myint的具体类型,也就无法后续对其进行各种操作了(包括赋值等操作)。 一旦编译器确定了变量的类型,就不能更原创 2012-06-04 17:31:17 · 327 阅读 · 0 评论 -
C#学习第九天
C#中的析构函数: 1、析构函数由系统调用,故不能用任何访问修饰符(private public internal protected)等修饰。 2、析构函数不能存在参数(系统自身调用,语法类似静态构造函数)。 3、析构函数只能用于引用类型(值类型由于是栈类型,超出作用域就释放内存了)。 只有在运行时回收对象时,析构器才被执行(如果存在析构函数)。而垃圾回收器是不定时运行的,所以析构器原创 2012-06-21 11:13:19 · 1228 阅读 · 0 评论 -
C#学习第八天
接口(Interface): C#中接口定义的规则: 1、接口本身的默认访问级别为internal,即程序集本身访问级别 2、接口中方法不能使用任何访问修饰符(例如 public private internal protected)等修饰。(系统自动为其设置为public) 3、不能使用virtual修饰 4、接口不能包含字段,无论是常量,还是实例字段,还是static字段,都不能包含原创 2012-06-20 17:19:58 · 1170 阅读 · 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 · 1146 阅读 · 0 评论 -
C#学习第六天
C#中数组:(数组长度为0并不代表数组为null) c#中的数组初始化(赋值)方式有2种。动态初始化、静态初始化。 动态初始化:指定长度,元素初始值由编译器指定(0 false null)。 例如:int[] arrint = new int[10];指定数组有10个元素,并初始化各元素的值(0)。 静态初始化:指定初始化值,长度由编译器根据初始化的元素个数确定。 例如 int[]原创 2012-06-19 11:01:22 · 1280 阅读 · 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 · 1248 阅读 · 0 评论 -
C#学习第三天
在C#类中,默认的方法、字段访问控制修饰符为private,这与Java不一样(java默认为本包访问级别) 默认的接口、类、结构、枚举等访问修饰符为internal。 C#静态构造方法不允许出现访问修饰符,也不允许具有参数(由系统自己调用,类似Java的静态初始化块),仅允许一次。 /** * 静态构造方法不能带访问修饰符,不能带参数(他们由系统自己调用)原创 2012-06-15 11:36:17 · 321 阅读 · 0 评论 -
C#学习第四天
匿名类: /*原理:编译器根据初始化值推断变量的真正类型.。var只能在初始化变量时使用(编译器要根据初始值固化其正真类型),例如var myint = 100;编译器会推断出myint为int类型。 而var myint ; myint = 0;//错误。因为编译器无法知道myint的具体类型,也就无法后续对其进行各种操作了(包括赋值等操作)。 一旦编译器确定了变量的类型,就原创 2012-06-18 16:51:22 · 1109 阅读 · 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 · 316 阅读 · 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 · 1275 阅读 · 0 评论