知识大全 自学.NET之路-C#编程之基础总结
Posted 类型
篇首语:宁可枝头抱香死,何曾吹落北风中。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 自学.NET之路-C#编程之基础总结相关的知识,希望对你有一定的参考价值。
自学.NET之路-C#编程之基础总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
NetFramework简介C#中的变量和常量C#中的基本数据类型:值类型和引用类型值类型:简单类型、结构类型和枚举类型。简单类型:整数类型、浮点类型、小数类型(decimal)和布尔类型等sbyte是有符号的,相当java的byte型,范围-128~127C#中byte是无符号的,范围0~255
变量命名方法:帕斯卡命名法和骆驼命名法帕斯卡命名法:如果有多个单词组成,每个单词首字母大写骆驼命名法:如果有多个单词组成,第一个单词全部小写,后面的单词大写
C#中的常量:const与readonly两种const声明的常量:叫静态常量,必须声明时就初始化,且只能用常数值初始化readonly声明的常量:叫动态常量,可以在声明时不初始化,只能在构造函数中初始化,但必须每个构造函数中都要初始化;而且可以使用变量值初始化class Test const float PI = 3.1416f; //常量命名:全部大写 readonly float G; public Test() G = 9.80F; public Test(float g) //每个构造函数中都要初始化;而且可以使用变量值初始化 G = g;
C#中的装箱和拆箱装箱:值类型转换成有引用类型拆箱:引用类型转换成值类型值类型:存在栈中引用类型:在堆中存放对象的地址(即引用),对象本身存放在栈中拆装箱允许值类型和引用类型相互处理
C#语法
Switch()括号中可以是int ,char和string ,switch语句中的case语句冒号后什么都不写,可以不写break,其他情况一定要写break,否则报错
数组:五种声明方式 int []array; array = new int[2];
//第二种声明方式 int []array1 = new int[2];
//第三种声明方式 int []array2 = 1,2,3;
//第四种声明方式 int []array3 = new int[]1,2,3;
//第五种声明方式 int []array4 = new int[3]1,2,3;
//数组大小也可以是变量 int count = 3; int []arr = new int[count];
枚举:用有意义的字符去访问数据public enum Contry:long //指定枚举类型,必须是整型,不写为int型 Pacific, //第一个未付值,默认为零 China=1860, Japan, US=1901, Canada
C#中的面向对象析构函数:函数名与构造函数名一样,~函数名(),不接受参数,由垃圾回收器自动调用(GC.Collect()调用垃圾回收器)
virtual关键字:C#中,子类要重写父类的方法,必须把父类的方法标识为virtual(虚拟的),同时重写方法用override修饰new 关键字:new关键字:在子类中定义的一个和父类方法签名一样,但是个全新的方法。tW.WiNGwit.并非重写父类的方法。base关键字:用base关键字调用父类的方法
访问修饰符:public 公有的,internal 在一个项目中的,protected有父子关系的类,private仅所属类的成员
注意:如果有一个类既继承类又实现接口,类名要写在接口名前面。
属性,索引器,委托,事件
属性:访问修饰一般为public,首字母大写。属性内有get和set访问器,get内必须要有return,set内有value关键字,代表从外部接受的值。索引器:索引器的作用:像处理数组一样去处理类的对象。 public class Student private string []obj=new string[10];
//this关键字在这里代表每一个类的对象,[]中整数是指通过下标访问 public string this[int index] //此是可以通过索引号去访问每一个类的成员 get return obj[index]; set if(value!=null) obj[index]=value; static void Main(string []args) Student stucollection=new Student(); stucollection[0]="柯南"; stucollection[1]="小五郎"; stucollection[5]="怪盗基德";
委托:相当于函数指针,可使程序在运行是再指定具体要运行的方法。(1) 定义委托:Public delegate int Call()(2) 实例化委托:objcall=new Call(方法名)(3) 调用委托:objcall();
事件:事件实际上是一种特殊的委托,委托每次只能指向一个方法,而事件可以指向多个方法(1)定义一个委托public delegate void delegateMe();(2)定义一个事件 private event delegate eventMe;(3)订阅事件 eventMe+=new delegateMe(方法名1()); eventMe+=new delegateMe(方法名2());(4) 引发事件 if(condition) then eventMe();
多线程
创建线程实例:Thread obj=new Thread(new ThreadStart(方法名称))开始:Start();休眠:Sleep();终止:Abort();挂起:Suspend();恢复:Resume();当前线程:Thread.CurrentThreadThreadPriority枚举值用来指定调度线程的优先级(共5级)
lock关键字C#中通过lock关键字提供同步线程同步:确保不同的线程对共享资源进行访问时,每次只有一个线程访问资源。Lock(this) For(int i=0;i<10;i++) //语句;
数组集合对象
Array: Array和数组很相似,还可以相互转化和拷贝,很多方法都是是通用, 可以用Array的静态方法对数组实现反转,排序,这是数组本身无法做到的
using system.Array;Array ar=Array.CreateInstance(typeof(int),5); //创建一个Array的实例ar.SetValue(12,0); //赋值
Array.Reverse(ar); // 反转 Array.Sort(ar); // 排序
ArrayList:最常用的集合之一.集合的好处是在不知道数据大小时,可以实现容量自动增长,而数组做不到.Add()添加元素Remove(位置)移除元素
ArrayList al=new ArrayList();//如果要遍历集合元素, //方法一: //将集合中的数拷贝到数组中 object []temp=al.ToArray(); foreach(object t in temp) Console.WriteLine(t);
//方法二,使用迭代器 IEnumerator ie=al.GetEnumerator(); while(ie.MoveNext()) Console.WriteLine(ie.Current);
HashTable:以键值对的形式保存值
Hashtable hash=new Hashtable(4); hash.Add("中国",1860); hash.Add("德国",1940);
Console.WriteLine(hash["中国"].ToString());通过key获得value
cha138/Article/program/net/201311/13001相关参考