C#复习

  • 格式:doc
  • 大小:88.00 KB
  • 文档页数:12

1。

4。

3类是一个数据结构,将状态(字段)和操作(方法和其他函数成员)组合在一个单元中,用于实现诸如windows窗体、用户界面控件和数据结构等功能元素1。

4。

4Main方法是驻留在类或结构内的静态方法,Main方法中可以创建对象和执行其他方法Main方法可以是void类型,也可以返回整型值int2。

1。

2C#的值类型分为简单类型、枚举类型和结构类型。

还可以为null的类型2。

1。

3C#的引用类型分为类类型、接口类型、数组类型和委托类型简单类型在传值的时候会做复制操作,而引用类型只是传递引用2。

1。

4装箱:是把值类型转换为引用类型的过程,是隐式的,相反的过程就是拆箱,显示的2。

2。

1变量表示存储位置变量的命名规则:变量的第一个字符必须是字母、下划线、或@,其后的字符可以使字母、下划线或数字。

但C#定义的关键字不能用作变量名,但可以定义@加关键字的变量名遵循的两种命名规定:PascalCase和camelCase.PascalCase约定在多个单词组成的名称中,每个单词除第一个字母大写外,其余的字母均小写。

camelCase约定在多个单词组成的名称中,第一个单词均小写,其余单词除第一个字母大写外其余的字母均小写2。

2。

2变量的声明:变量类型变量名变量的赋值:变量= 要赋的值2。

2。

3变量分为7类:静态变量、非静态变量、数组元素、值参数、引用参数、输出参数和局部变量1。

静态变量(类变量):static public static int MAGICNUMBER=992。

非静态变量(实例变量):不带有static修饰的,它属于类的实例,需要先创建该类的对象实例,然后通过对象实例来引用V ariableType vt = new V ariableType(); //创建对象实例vt.guess = 99 //对象实例字段赋值同样,非静态变量初使值是该变量的默认值,但为了便于赋值检查,非静态变量最好在定义时赋值,int guess = 0;3。

局部变量指的是在一个独立的程序块中声明的变量,它只在该范围中有效。

当程序运行到这一范围时,该变量开始生效,程序离开这一范围就失效了。

2。

3常量在变量前加const,就可以把该变量指定为一个常量。

常量的命名规则一般采用大写字母常量必须在声明时初始化,指定其值后,不能再对其值进行赋值修改常量总是静态的,但不允许包含修饰符static常量可提高程序的可读性、健壮性和可维护性2。

4C#的内置值类型表示基本数据类型,包括整型、浮点类型、decimal类型、bool类型和字符类型C#支持两个预定义的引用类型:object和stringint和System.Int32是相同的类型2。

4。

2C#支持两种浮点数据类型:float(精度低)和double(精度高)2。

4。

3。

高精度小数类型:decimal2。

4。

4bool属于逻辑运算,包含bool值true或falseobjectstringnull2。

5类型转换:隐士转换、显示转换Toint32(数值字符串):数值字符串转换为整型数值ToDouble:将指定的Decimal值转换为等效双精度浮点数checked:可以指定以检查的上下文;使用unchecked可以指定未检查的上下文using语句用于获得一个资源,执行一个语句,然后释放该资源sizeof用于获取值类型的字节大小,仅是用于值类型,不适用于引用类型,sizeof运算符只能在不安全代码中使用typeof获取类型的System.Type对象GetType()是获取类型的名称break语句:结束循环,跳转到循环的后继语句执行continue语句仅结束本次循环,并返回到循环的起始处,循环条件满足的话就开始下一次的循环;return语句终止它出现在其中的方法的执行并将控制返回给调用方法6。

1面向对象设计具有三个基本特征:封装、继承、多态封装就是将数据与操作数据的源代码进行有机结合形成类,它保证了对象的独立性继承是允许使用现有类的功能,并在无须重新改写原来类的情况下对这些功能进行扩展多态性允许每个对象以自己的方式去响应共同的消息,从而允许用户以更明确的方式建立通用软件,提高软件开发的维护性6。

2类是一个数据结构,对象就是类的实例声明类:class例:6。

2。

2创建对象:类名对象名= new 类名([参数表])6.2.3C#中使用如下修饰符:public(公共的)、private(私有的)、internal(内部的)和protected (受保护的)它们均可修饰类的成员。

当没有定义访问修饰符时,类成员的默认访问修饰符为private.如果类不是在某个类内声明的,那么这个类就是顶级类。

当顶级类没有指定访问修饰符时,默认的访问器是internal6。

3。

1。

类内声明的类型称为内部类或者嵌套类;在编译单元或命名空间内声明的类称为顶级类,也称为包含类或者非嵌套类嵌套类型一般仅由其包含类型进行实例化和使用,如果需要在其他类型中使用该嵌套类型,则建议定义单独的顶级类,避免使用嵌套类在内部类内,this不能用于引用包含它的那个类的实例成员,而只能引用内部类自己的成员内部类可以访问包含它的那个类可访问的所有成员,包括该类自己的具有private,protected 声明的可访问性成员;6。

4分部类型可以将类划分为多个部分,存储在不同的源文件,以便开发和维护分部类主要用于两种场合:当类的源码十分庞大或需要不同程序员同时进行维护时;使用继承开发源代码生成器时,将计算机生成的类型部分和用户编写的类型部分互相分开7。

1类的成员有数据成员和函数成员事件是在发生某些行为时由类生成的通知,它可以让对象通知调用程序。

7.1.2函数成员用于提供操作类中数据的某些功能,包括方法、属性、构造函数和析构函数、运算符以及索引器构造函数。

构造函数是名称与类名相同的特殊方法,当类被实例化时,首先会执行构造函数。

析构函数。

其名称类前加,当类的实例无效时,这个函数就会被执行。

7.1.3类的成员是静态成员或者是实例成员。

静态成员属于类,被这个类的所有实例所共享;实例成员属于对象,每一个对象有实例成员的不同副本。

常量会隐式的声明为静态成员,其他没有用static修饰的成员都是实例成员或者称为非静态成员。

静态成员具有以下特征:1。

必须通过类名来引用,System。

Console。

WriteLine(“Hello,World!”)或Console。

WriteLine(“Hello,World!”)(命名空间)。

类。

静态函数成员2。

一个静态字段共享同一个存储位置,永远只有一个副本3。

静态函数成员属于类的成员,在其代码体内不能直接引用实例成员实例成员的特点:1。

必须通过对象实例来引用:testMyHelloWorld。

SayHelllo()。

2。

实例字段属于类的实例,每当创建一个类的实例时,都在内存中为该实例字段开辟一块存储区域。

类的每个实例分别包含各实例字段的单独副本。

(每个实例的成员字段number的值都是不同的)3。

实例函数成员作用于类的给定实例,故在其代码体内既可以使用实例成员,也可以直接引用类的静态成员7。

2。

1字段的声明基本形式:[字段修饰符] 类型字段名[ = 初始化] 字段修饰符指定字段的可访问性,如public、private等。

类型指定该字段值的类型;字段名是一种标识符;初始值指定字段的初始化访问对象中的字段:对象。

字段名7。

2。

2静态字段使用static修饰符来声明。

静态声明基本形式:[修饰符] static 类型字段名[ = 初始化]访问类的静态字段:类名。

字段名7。

2。

3常量在编译时设置其值并且永远不能更改其值的字段。

声明形式:[修饰符] const 类型字段名= 初始化常量是静态成员,隐示声明。

静态字段是显示声明7。

2。

4只读字段不是静态变量关键字:readonly只读字段只能在声明字段时赋值或在类的构造函数内被赋值,在其他位置,只读字段的值不能跟更改声明形式:[修饰符] readonly 类型字段名[ = 初始化]只读字段与常量的区别:常量只能在声明时赋值,常量的值在编译时就已经确定了;只读字段可以在声明时或者在构造函数内赋值,只读字段的值是在运行时确定的。

常量不能是用户自定义类型和object类型,只读变量可以时任何类型7.2.5可变字段不受编译器优化的限制,可变字段可以由对个同时执行的线程修改,可以确保该字段在任何时间呈现的都是最新的值可变字段声明形式:[修饰符] volatile 类型字段名[= 初始化]7.3方法是与类相关的函数方法用于实现由类执行的计算和操作方法的声明:[方法修饰符] 返回值类型方法名([形参列表]){方法体}[;]方法修饰符指定方法的可访问性;返回类型指定该方法计算和返回的值的类型,则其返回类型为void,如果返回类型不是void,则方法体中必须使用return关键字来返回于返回类型匹配的值;形参列表表示传递给该方法的值或变量引用;方法名是一种标示符,其首字母通常要大写;方法体是代码执行的代码块。

方法的调用(类似于字段的访问) :对象.方法名([实参列表])7.3.2参数:值形参、声明时不带任何修饰符。

调用时隐式转换,赋值只影响方法声明空间的局部存储位置,对值形参的修改不会影响在方法调用时由调用方给出实参。

引用形参、用ref修饰符声明。

用于输入和输出参数的传递,为引用参数传递的实参必须是变量,形参变了会影响实参,实参必须与形参类型相同的变量,变量在引用形参传递之前必须先明确赋值。

输出形参、用out修饰符声明。

用于输出参数的传递,变量在作为输出形参传递的调用之后,必须明确赋值。

形参数组、用params修饰符声明。

主要用于传递可变数量的参数。

以为数组类型可以作为形参数组的类型,二维的不行,params修饰符不能与ref和out修饰符组合起来使用。

7.3.3每一个类成员都有一个唯一的签名。

方法的签名由方法的名称及其参数的数目、类型参数的数目、修饰符和类型组成。

方法的签名不包含返回类型。

方法的签名在声明该方法的类中必须唯一。

只要签名不同,就可以在一种类型内定义具有相同名称的多种方法。

当定义两种或两种具有相同名称的方法时,就称作重载。

ref和out在编译时处理方式相同,因此,如果一个方法采用ref参数,而另一个方法采用out参数,则无法重载这两个方法。

但是如果一个方法采用ref或out参数,而另一个方法不采用这两个参数,则可以进行重载7.3。

4使用static修饰符声明的方法为静态方法。

静态方法不对特定实例进行操作,并且只能直接访问静态成员不使用static修饰符声明的方法为实例方法。

实例方法能够访问静态成员和实例成员,能通过this显示访问。