您好,欢迎访问三七文档
C#语言基础1.NET的框架(Framework):是整个开发平台的基础,包括公共语言运行库和.NET类库2.C#的数据类型按数据的存储方式划分,有值类型和引用类型.值类型:(值类型变量存储数据)Intlongfloatdoubledecimalenumstrut引用类型:(存储对实际数据的引用)Objectstringclassinterfacedelegate3.基本编码规则:首先要提出的是C#语言大小写是敏感的,大型程序的开发必须有通用的编码规则。标准化的编码规范有助于理解代码的意义以及如何使用和改进代码编码规范使项目成员可以读懂并理解其他开发人员编写的代码编码规范可以提高软件的可维护性编码规范使所有开发人员都采用一致的编码风格结构的成员和单独的变量,如变量和常量等采用Camel风格的命名totalValue,数据结构如类、接口和枚举等采用Pascal风格的命名。WelcomeClassOnClick在程序的关键地方要加注释进行说明。///*…*/4、C#的语句:选择语句(ifelse;switchcase)选择语句依据一个控制表达式的计算值从一系列可能被执行的语句选择出要执行的语句。说明:逻辑表达式必须是布尔型。(1)if语句格式如下:if(条件2){语句组1;}else{语句组2;}(2)Switch语句分支语句依据控制表达式的值选择执行相关的语句。其格式如下:switch(choice){casevalue1:语句组1break;casevalue2:语句组2break;default:语句组n}循环控制(do;while;for;foreach)(1)while依据其表达式的值条件执行它的嵌套语句零次或者多次。(2)do语句do语句根据其布尔表达式的值有条件的执行它的嵌套语句一次或者多次。(3)for语句for语句首先计算一系列初始表达式的值,接下来当条件成立时,执行其嵌套语句,之后计算重复表达式的值并根据其值决定下一步的操作.(4)foreach语句说明:此语句使用户在数组和集合中迭代元素。例int[]arr1=newint[5]{1,2,3,4,5};foreach(intiinarr1)Console.WriteLine(“Valueis{0}”,i);跳转语句(break语句continue语句goto语句return语句)(1)break语句退出最内层的循环或者退出一个switch语句(2)continue语句开始循环的一次新迭代(3)goto语句(4)return语句指定函数返回的值,当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!例1.switch(n){case1:cost+=25;break;case2:cost+=25;gotocase1;case3:cost+=50;gotoFinish;default:Console.WriteLine(Invalidselection.);break;}Finish:Console.WriteLine(Endofsearch.);例2.for(inti=1;i=10;i++){if(i9){continue;}Console.WriteLine(i);}for(inti=1;i=10;i++){if(i==6){break;}Console.write(i);}5.命名空间将相关的类型进行分组的逻辑命名方案。利用关键字namespace定义命名空间,System是根命名空间。6.标识符和保留字标识符以字母,下划线或@开头。后跟字母,下划线,数字。保留字:如const定义常量,base用于访问父类的公有和保护成员,一定使用保留字做标识符,应以@开头。7.字符串类型:i字符串的建立:可以通过直接赋值建立字符串如:stringstr=”hello”;stringstr=”c:\\text\\first.cs”;或者三stringstr=@”c:\text\first.cs”;⊙常用字符串操作方法1)比较字符串String.compare(stringstrA,stingstrB)2)查找tIndexof(stringstr)可以查找str在字符串中出现的位置;lastIndexof(stringstr)可以查找str在字符串中最后一次出现的位置3)插入:Insert(intstartindex,stringstr);4)删除:Remove(intstartindex,intcount);5)替换:Replace(stringoldstr,stringnewstr);6)大小写转换Toupper()可以将所有的英文字母转化成大写的Lowupper()可以将所有的英文字母转化成小写的。7)trimstart()可以删除字符串首部空格,trimend()可以删除字符串尾部空格,trime()可以删除字符串首尾部的空格8.数组1)数组的声明:int[]numbers;//一维数组的声明Int[,]names;//多维数组的声明Byte[][]scores;//数组的数组(交错的)2)创建数组Int[]numbers=newint[5];//一维数组string[,]names=newsting[2,3]//多维数组Byte[][]scores=newbyte[5][]//数组的数组3).初始化数组Int[]numbers=newint[5]{1,2,3,4,5};string[]names=newsting[3]{“zhao”,”qian”“sun”};9.类型转换一、隐式转换与显示转换1.隐式转换隐式转换是系统默认的,不必加说明就可以进行的转换2.显示转换Parseconverta.tostring()(int)a显示转换又叫强制转换,与隐式转换不同的是,显示转换需要指明要转换的类二、数值与字符串的转换1、数值转字符串2、字符串转数值三、装箱与拆箱装箱转换是指隐式地将任何值类型转换成object类型。拆箱转换是把object类型显示地转换为值类型,它是装箱的逆过程。例如intnfunny=2000;Objectofunny=nfunny;Intn;Objectofunny=2000;Intn=(int)ofunny;10、异常处理1、格式:try{//程序代码}catch(异常类型声明){//错误处理代码}catch(异常类型声明){//错误处理代码}finally{//finally代码}2、抛出异常:除了在程序运行时处理异常外,在一些特殊的情况下,还可能使用throw关键字显示地抛出异常。格式:thrownew系统异常或用户自定义异常系统常用的异常分类:System.DivideByZeroException()System.FormatException();System.IO.IOException();System.IO.FileNotFoundException();System.IndexOutOfRangeException();3、异常说明程序逻辑是在try块中编写的,而错误处理代码是在catch块中编写的;如果需要在try块中捕捉多个异常,则必须具有多个catch块;提供一个可选的finally块。无论是否产生异常,都执行此块中的语句;throw语句可用来抛出系统异常或用户自定义异常(也称为自定义异常);用户自定义异常有助于在程序执行期间抛出特定于应用程序的异常。类与对象面向对象的程序设计既是一种程序设计模式,也是一种软件设计的方法学.它的主要思想是根据对象的类一一构造程序,它包含了“对象”、“消息”、“类”等一些重要概念和“封装性”、“继承性”、“多态性”等重要特性。一、对象(万事万物皆对象)对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成,通俗地讲类的对象是该类的某一特定实体,即类类型的变量。二、类(面向具象写抽象,利用抽象写具象)类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。三、类与对象的关系:类的实例化结果就是对象,而对一类对象的抽象就是类。通过类来建立对象,对象之间通过消息进行通信。(模具与产品)四、面向对象的基本特征1、封装性封装性就是把对象的属性和服务结合成一个独立的单位,并尽可能隐蔽对象的内部细节。(自动提款机)2、继承性特殊类拥有其一般类的全部属性和服务,称为特殊类对一般类的继承。允许重用现有类去创建新类的特性,增加程序代码的可重用性。3、多态性多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。类和对象的知识重点。1.类的成员分类:数据成员:字段、常量、事件。成员函数:属性、索引器、构造函数、析构函数、运算符、实例化方法、事件。2.类成员访问修饰符有:1)public:访问不受限2)protected:只限此类和继承类使用3)internal:仅限当前程序集4)private:只在此类中使用,访问数据要用属性3、静态成员和非静态成员的区别利用static修饰的数据或者方法成员,称为静态成员,否则为非静态成员静态成员的引用直接利用类名,而非静态成员的必须经类的实例化后方可引用4、构造函数:public+类名作用:构造函数主要用来为对象分配空间,完成初始化操作构造函数与类名相同,无任何返回值,在类的实例化时直接可以调用,指定其初始化publiccircle(){this.r=100;}特殊情况举例:1.publicA(){}2.publicA(inta,stringb….){this.a=a;this.b=b….}3.publicA(inta,stringb….):base(a){}4.publicA(inta,stringb….):this(0,2)//通过关键字this调用同一个类的另一个构造函数下列关于构造函数的描述正确的是________A.构造函数可以声明返回类型B.构造函数可以用private修饰C.构造函数不可以重载D.构造函数可以带参数5、析构函数:用于释放类的实力获取的资源占用的内存,定义方法~类名()类中的析构函数完成释放对象,与类名相同,无任何返回值。6、类的方法在c#中,数据和操作均封装在类中,数据以成员的变量的形式出现,而操作(服务)主要体现在方法的使用上。在类的定义中,类的方法描述了该类的行为特征。在类中,方法的一般格式是:[修饰符]返回值类型方法名([参数列表]){方法体}方法的参数传递通过值传递参数通过引用传递参数(refout)例:publicclassTestClass{publicvoidDisplay1(intx){x=x-8;}publicvoidDisplay2(refintx)运行结果:{x=x+10;}publicvoidDisplay3(outintx){x=x+1;}}classProgram{staticvoidMain(string[]args){inta=10;TestClasst=newTestClass();t.Display1(a);Console.WriteLine(a);t.Display2(refa);Console.WriteLine(a);t.Display3(outa);Console.WriteLine(a);}}7.方法重载定义:类中两个以上的方法(包括隐藏的、继承而来的方法)所取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪个方法。这就叫做方法的重载。8this关键字this关键字引用类的当前对象,成员通过this关键字可以知道自己属于哪一个实例,this关键字是一个隐含引用,它隐含与每个类的成员函数中,可以用于从构造函数、实例方法和实例访问器中访问成员。publicA(inta,stringb….):this(0,2)//通过关键字this调
本文标题:C#复习重点总结
链接地址:https://www.777doc.com/doc-6314643 .html