c#程序设计复习资料.doc

上传人:精*** 文档编号:842019 上传时间:2023-09-08 格式:DOC 页数:31 大小:117KB
下载 相关 举报
c#程序设计复习资料.doc_第1页
第1页 / 共31页
c#程序设计复习资料.doc_第2页
第2页 / 共31页
c#程序设计复习资料.doc_第3页
第3页 / 共31页
c#程序设计复习资料.doc_第4页
第4页 / 共31页
c#程序设计复习资料.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、 C#程序设计基础知识接口接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员);另外,接口有如下特性:接口除了可以包含方法之外,还可以包含属性、索引器、事件,而且这些成员都被定义为公有的。除此之外,不能包含任何其他的成员,例如:常量、域、构造函数、析构函数、静态成员。一个类可以直接继承多个接口,但只能直接继承一个类(包括抽象类)。try /执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 catch /

2、除非try里面执行代码发生了异常,否则这里的代码不会执行 finally /不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally 1,委托委托本质上是一种方法接口,它相当于c语言中的指针,比函数指针安全,在c#中用于事件的处理。事件不是委托,在c#中处理事件的逻辑常包装为委托。委托允许讲方法作为参数进行传递,可以用于定义回调方法,委托可以连接在一起。 ADO.NETADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。 A

3、DO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。 简单的说,这是说怎么样和数据库交互(增 删 改 查), ADO.NET五个主要对象connection 连接对象,command 执行命令和存储过程,datareader 可从数据源提供高性能的数据流dataadapter 适配器,支持增删查询,dataset 数据

4、及对象相当于内存里的多张表 NEW关键字用法 1,new运算符 用于创建对象和调用构造函数 2,new修饰符 用于想积累成员影藏集成成员类与接口的异同 异1,接口不能实例化2,借口不包含方法的实现3,类只能从一个基类集成实现 同1,类与接口可以继承与多个接口2,接口类似于抽象基类3,接口可以包含事件索引器,方法和属性第3章C#程序设计基础数据类型C# 中有两种类型:值类型 、和引用类型 值类型的变量直接存储数据 如 : 整形等 引用类型的变量存储数据的引用 如 :对象。 对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象 如 : class Progr

5、am static void Main(string args) A a, a1, a2; a = new A(); a1 = a; a2 = a; a1.n = 33; Console.Write(a2.n.ToString(); Console.Read(); class A public int n = 0; 对于值类型,每个变量都有它们自己的数据存储空间,因此对一个变量的操作不可能影响另一个变量。 C# 的值类型进一步划分为简单类型 、枚举类型和结构类型 C# 的引用类型进一步划分为类类型 、接口类型 、数组类型、 和委托类型 。注:变量必须指定数据类型数据类型C# 中,任何类型值都可

6、以按对象处理 值类型的值则通过执行装箱和拆箱操作按对象处理。实现方法 : C# 中的每个类型直接或间接地从 object 类型派生。引用类型的值都被当作object来处理。 对于值类型,可以将 int 值转换为 object,处理之后在转换回 int。 class Teststatic void Main() int i = 123;object o = i;/ Boxingint j = (int)o;/ Unboxing数据类型 基本整型(int ) 短整型(short) 整形 长整型(long) 单字节整形(byte) 字符型 (char) 简单类型 单精度型(float) 实型 值类型

7、 双精度型(double) 布尔型(bool) 小数类型(decimal ) 结构类型 枚举类型 整数类型整型定义 : 就是变量的值为整数的类型 计算机语言中的整数跟数学上的整数定义有点差别,计算机语言中的整数有取值范围。 整数类型分类: 短字节型(Sbyte)、字节型(Byte) 短整型(Short) 、 无符号短整型(Ushort) 整型(Int) 、无符号整型(Uint)、 长整型(Long) 、无符号长整型(Ulong)。 注:变量名称前面的“u”是“Unsigned”的缩写,不能在这些类型的变量中存储负号。以上这些不同的整数类型可以用于存储不同范围的数值,占用不同的内存空间。常量类型

8、: 可以用数值加上后缀方法指定常量类型: u后缀:uint 或者 ulong类型 l后缀: long 或者 ulong类型 ul后缀:ulong类型 f后缀:float类型 d后缀:double类型 m后缀:decimal类型例如; 12m布尔型和字符类型布尔型 类型说明符: bool 布尔类型值,True 与 False 。如: static void Main(string args) bool b = true; if (b) Console.Write(b.ToString(); Console.Read(); 字符类型字符类型包括数字字符,英文字母、表达符号等字符类型按照国际上公认的

9、标准,采用Unicode字符集字符类型Unicode 是16位字符,占两个字节,以无符号16位整形存储,共65535个; 可表示世界上已知多数的书面语言; 前128个与ASCII重叠。128-255表示拉丁字母,重音符号、货币符号 等字符型变量定义 char mychar =x;Char mychar=(char)88;Int char 需要强制转换Charint,float,decimal 可以隐式转换 double n=3;字符类型n换行t横向跳格v竖向跳格b退格r回车f走纸换页反斜杠字符单引号“双引号字符类型字符型变量赋值方法 直接赋值:char ch=a; 转义字符:char ch=x

10、61; 强制转换:char ch=(char)97; unicode码: char ch=u0061;实数类型 实数类型分类 单精度(Float) 双精度(Double) Decimal选取原则:对精度要求不高的计算中采用单精度型而采用双精度的结果将更为精确Decimal类型主要用于金融和货币的计算,精度更高小数类型 c#提供了decimal类型,精度为28-29位有效数字,他没有无符号形式。 在精度很重要的场合,可以选择该类型。 浮点型和小数类型之间不能进行隐式转换,在一个表达式中不能同时用这两种类型。注:小数常数后必须跟着一个m或M字符串C#支持string类型。C#把字符串当成对象,封装

11、了所有字符串所拥有的操作、排序和搜索方法。定义字符串方法 string s = abcdef;字符串 字符串中可以包含转义字符 如“n”或“t” 在字符串中使用反斜杠,必须在其前面再加一个反斜线。 (反斜线本身在目录路径中会用到) 如下面代码所示: string directory = C:text;字符串string类型变量可以看作是char变量的只读数组可以使用下面的语法访问每个字符: string myString = abcdef; char myChar= myString1; 同时,我们还可以使用ToCharArray() 函数,把string类型的变量转存到字符数组里面。clas

12、s Programstatic void Main(string args) string s = abcdef; char myChar = s.ToCharArray(); Console.WriteLine(“myChar输出如下:); foreach(char c in myChar) Console.WriteLine(0,c); Console.ReadLine(); 字符串字符串的串接: 使用“+”符号 string city = 南京市; string street = 新街口; string address = city + street; Console.WriteLine

13、(“地址是:”+address); 输出结果:“地址是:南京市新街口”。String类有很多方法和属性 常见的有:Length 属性、ToUpper/ToLower 方法、IndexOf 方法、SubString 方法等。字符串Length属性 string str2=”you are welcome!”; int n=str2.Length; 那么n就得到str2字符串的长度ToUpper()方法 把字符串中所有的字母 都变成大写ToLower()方法 把字符串中所有的字母 都变成小写字符串IndexOf()方法 从字符串找出第一次出现某子字符串的位置 string str1=”you ar

14、e welcome”;int n=str1.IndexOf(“are”);那么n的值为4; SubString ()方法 从字符串的n1个字符开始,长度为n2的子串 str1.SubString(n1,n2);例题 static void Main(string args) string s = hello; char ch = new char a,b ; string ss = new string(ch); StringBuilder stbd = new StringBuilder(); stbd.Append(s); stbd.Append(ss); stbd.Replace(ll,

15、 kk, 5, 2); s = stbd.ToString(); stbd.Remove(0, stbd.Length); Console.Write(stbd); Console.Read(); 变量 什么是变量 值可以改变的量。 变量代表了存储单元,每个变量都有一个数据类型。 变量名的命名规则 第一个字符必须是字母、下划线、或 后面的字符必须是字母、数字、下划线。 如 : myInt _test n #n 9n 变量赋值 定义时赋值 用赋值语句赋值 注意: 变量名区分大小写, 变量必须先定义后使用。 变量名不能和保留字重复变量变量的声明 修饰符 数据类型 变量1,变量2,变量n; 访问修饰

16、符:public,private,protected等 数据类型可以是值类型,引用类型等 例: private int n; int a, b , c; double d;变量赋初值, 例 : double d1=2.4,d2=3.5; string str = 33.3; string str2 = d:tempa.txt“; string str3 = d:tempa.txt; Console.Write(str3); 常量常量:值在整个生命周期内始终不变的量 不可以对常量赋值 常量声明:修饰符 const 数据类型 变量1,变量2,变量n; 例如:private const double

17、 PI=3.1415926; 定义常量时,表达式中只能是常量和常数private const double PI=3.1415926*n; 运算符与表达式 运算符 用于执行某种计算的字符的组合。 按操作数分类 单目、双目和三目运算符。 按功能分类 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 布尔赋值运算符算术运算符运算符+ 整数、浮点数、charvar1 = +var2;var1的值是var2 + 1,var2递增1 整数、浮点数、charvar1 = var2;var1的值是var2 1,var2 递减1+ 整数、浮点数、charvar1 = var2+;var1的值是var2

18、,var2递增1 整数、浮点数、charvar1 = var2 ;var1的值是var2,var2 递减1 +整数、浮点数var1 = +var2;var1的值等于var2的值整数、浮点数var1 =var2;var1的值等于var2的值除乘以1算术运算符 加法运算符 用于整型、实型、枚举型、字符串型和代表型 例:乘法运算符、除法运算符 只适用于整数以及实数之间的操作; 除法运算符默认的返回值类型与精度最高的操作数类型相同。 比如,5/2的结果是2,而5.0/2的结果是2.5。取余运算符 求模运算既适用于整数类型,也同样适用于浮点型。 如7%3的结果为1,7%1.5的结果为1。赋值运算符不用看

19、赋值运算符分为:简单赋值运算符 复合赋值运算符 如下表所示 :简单赋值运算符 “=”就是赋值运算符。 格式:变量=表达式 例: a=33; 在运算中表达式值的类型必须和变量类型一致或可以隐式转换成变量所属类型复合的赋值运算符关系运算符 了解C#共支持6种关系运算符 移位运算符 类型转换 简单了解 conver int , convert ToDouble .convert ToInt隐t式转换 由编译器自动进行的类型转换 如: char cVar = a; ushort usVar; usVar = cVar;显式转换 又叫强制类型转换,需要明确指出转换的类型。 转换过程中可能出现精度降低、异

20、常等情况。 如 ; int n=10; double d = 33.333; n = (int)d; 使用Convert命令进行显式转换 了解可以实现各种数据类型之间的强制类型转换如: static void Main(string args) string str = 33.3a; double d = Convert.ToDouble(str)+3; Console.Write(d); Console.Read(); 条件分支 有条件地执行代码。条件满足就执行代码。循环 重复执行相同的语句。重复执行一定的次数,或者在满足测试条件后停止执行。跳转条件语句 掌握 条件语句依据一个布尔表达式的值

21、从一系列可能被执行的语句选择出要执行的语句。包括:if语句switch语句 条件语句 If语句有3种基本形式: 单条选择、如果/否则、多项选择情形选择。 1.单选If语句基本语法如下:if(boolean expression) ;执行过程条件语句 if语句 1考示例程序如下:static void Main()int a,b;string c;Console.Write(“输入一个数值:”);c= Console.ReadLine();a=int.Parse(c);b=30;if(a10)Console.WriteLine(“a+b=0+1=2”, a, b , a+b); 条件语句2.如果

22、/否则If语句基本语法如下:if(boolean expression) 表达式A;else 表达式B;执行过程 条件语句 if语句2public static void Main() double a, b, x; Console.Write(“输入一个数值: ”); a=double.Parse(Console.ReadLine(); Console.Write(“再输入一个数值: ”); b=double.Parse(Console.ReadLine(); if (ab) x=a; else x=b; Console.WriteLine(“the max is: 0 ”, x); 循环语

23、句 循环语句功能: 反复执行某一语句块,实现循环结构C#提供了四种循环语句for语句foreach语句while语句do语句循环语句 for循环 看着办for语句执行过程1、求解表达式1 2、求解条件表达式23、表达式2的值是真则执行循环体以及语句3,否则推出循环For循环main( ) int i,sum=0; for(i=1;i=0;i-) sum=sum+i;For循环 会用for语句的变形:1、表达式1或表达式3省略,但分号“;”不能省略。i=1; for(;i=100;i+) sum=sum+i;或者for(i=1;i100) break;3、for语句中三个表达式的类型不限int

24、i,sum;for (sum=1,i=1;i=100;sum+=i,i+);foreach语句功能: 1、依次从集合C中取出一个元素,放在变量v中 2、每取出一个元素后执行一次循环体 3、直到所有元素都使用一遍格式:foreach ( 变量类型v 迭代变量 in 集合表达式C) 循环体语句块Foreach循环 1、变量类型要和数组的类型一致,且必须声明后使用; 2、数组内元素的个数决定循环内程序段重复执行的次数; 3、每次进入循环,会依次将数组元素内容指定给变量,当所有元素都读完后,系统就会离开Foreach循环。Foreach循环例使用Foreach循环语句输出一个数组的所有元素值。 cla

25、ss Program static void Main(string args) int index = 1; string myArray = new string6 Pirlo, Ronaldo, Beckham, Kaka, Owen, Henry ; foreach (string arr in myArray) Console.WriteLine(第0个球员的名字是:1,index+,arr); Console.ReadLine(); 循环语句 while循环 While语句功能 :依据条件表达式的值有条件的执行循环体。其格式如下:while (条件表达式)循环体while语句是按下

26、面方式执行的:1、计算布尔表达式值2、如果表达式值为真,程序执行嵌套语句。当执行到嵌套语句结尾,将从新回到while语句的开头。3、如果布尔表达式值为假,程序跳转到while语句的结尾。例:求1+2+3+100的值main( ) int i,sum=0; i=1; while (iy) return x; else return y; 函数的返回值是整型 函数参数:了解 必须在声明的时候指定参数名,以及参数的类型:类型名 函数名(类型名 参数名, .). return 变量;如上例 参数用逗号分隔开 每个参数都可以当作一个变量使用。函数的参数 参数匹配 形参要和实参匹配包括参数的类型、个数和顺

27、序都要匹配 上面的例子中调用max函数: Int nMax;nMax=max(3,6);例题变量按作用域可以分为全局变量和局部变量数据传递方法:通过全局变量、参数、函数返回值在函数之间传递数据。 例题:p101、102注意 :全局变量在多个函数中有效,在其作用域的每个函数中都可以使其值发生更改。所以增加了不确定性。全局变量的使用原则尽量用局部变量函数签名 在C#中,函数通过签名来标识它们,包括函数名、参数以及参数的数据类型。通过函数的签名区分函数 函数重载 由于编译器通过函数签名而不是函数名来区分不同的函数,所以,可以在类中声明名称相同参数列表不同的函数。这种函数称为重载。例题static v

28、oid Main(string args) double x = 33d, y = 44d; float X = 33.3f, Y = 44.4f; Console.WriteLine(max(X,Y); Console.WriteLine(max(x, y); Console.Read(); static float max(float x, float y) float z=0f; if (x y) z = x; else z = y; return z; static double max(double x, double y) double z = 0f; if (x y) z = x

29、; else z = y; return z; 第5章 面向对象编程基础 面向对象设计思想 在客观世界中,可以把具有相似特征的事物归为一类,也就是把具有相同属性的对象看成一个类(class)。 比如 所有的汽车可以归成一个“汽车类” 所有的人可以归成一个“人类”。 在面向对象的程序设计中,“类”就是对具有相同属性和相同操作的一组对象的定义。 特征: 它尽可能地模拟人类思维方式 使开发软件的方法和过程尽可能地接近人类认识世界、解决问题的方法。优点: 采用面向对象的程序设计技术开发的软件系统,稳定性、可重用性和可维护性都很好属性一般用数据成员表达,操作用函数成员来表达和实现。对象是类的一个实例。

30、OOP相关的概念 类和对象静态成员对象的生命周期继承多态性对象之间的关系运算符重载类和对象 类的含义 : 类是面向对象程序设计的基本构成模块。是一种数据结构,这种数据结构包含数据成员、函数成员以及其它元素。 数据成员类型有常量、字段和事件 函数成员类型有方法、属性、索引指示器、操作符、构造函数和析构函数 类的定义方法和结构定义类似。 对象 对象是通过类来定义,就像定义变量一样。对象的类型就是类类的声明 (大题) C#中类的一般定义形式如下所示:修饰符 class 类名/类的成员 例如 : class Program static void Main(string args) A a = new

31、 A(); a.f(); Console.Read(); class A public void f() Console.Write(hello); abstract修饰符 abstract用来声明类为抽象类 抽象类与非抽象类相比有如下不同点:抽象类不能被实例化。但可以定义变量,变量的数值必须为null或者是抽象类派生的非抽象类的实例。抽象类可以(但是不需要)包含抽象成员。抽象类不能是密封的。 class Program static void Main(string args) A.f(); Console.Read(); abstract class A public static voi

32、d f() Console.Write(hello); 成员修饰符 const应用于字段成员或局部变量event 定义一个域成员或属性为事件extern方法由外部实现override用于改写任何基类中被定义为virtual的方法readonly使用 readonly修饰符的域成员只能在它的声明中被更改static被声明为static的成员属于类,而不属于类的实例virtual说明成员可以被继承类改写。存取修饰符 知道意思public任何地方都可以访问该成员,这是具有最少限制的存取修饰符。protected在类及所有的派生类中可以访问该成员,不允许其他类访问。private仅仅在同一个类的内部才能访问该成员。甚至派生类都不能访问它。internal允许相同组件(应用程序或库)的所有代码访问。在.NET组件级别,你可以把它视为public,而在外部则为private。类的主体 用于定义类的成员,并用一对括起来。 类的成员可以分为下面的几种:构造函数:又可分为实例构造函数和静态构造函数,前者对类的实例进行初始化;后者对类本身初始化。析构函数:执行在类的实例要被解析掉前要实现的动作,释放对象占用的资源。字段:包括与类相关的常数数据和变量。方法:实现了可以被类实现的计算和行为。属性:命名的属性和对这个属性进行读写的操作。事件:定义了由类产生的公告。索引:它允许类的实例与数组相

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922