C#复习提纲.docx
- 文档编号:30336845
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:20
- 大小:64.31KB
C#复习提纲.docx
《C#复习提纲.docx》由会员分享,可在线阅读,更多相关《C#复习提纲.docx(20页珍藏版)》请在冰豆网上搜索。
C#复习提纲
一、.Net概述
1、.NetFramework
(1)公共语言运行时(CLR)
(2)统一的类库集(FCL)
2、.Net支持哪些语言?
3、命名空间的引用(using)
二、C#语法
1、值类型有哪些?
引用类型有哪些?
类别
说明
值
类
型
简单类型
有符号整型:
sbyte,short,int,long
无符号整型:
byte,ushort,uint,ulong
Unicode字符型:
char
实型(浮点型):
float,double
十进制型(高精度小数):
decimal
布尔型:
bool
结构类型
structS{...}形式的用户定义的类型
枚举类型
enumE{...}形式的用户定义的类型
引
用
类
型
类类型
所有其他类型的最终基类:
object
classC{...}形式的用户定义的类型
接口类型
interfaceI{...}形式的用户定义的类型
Unicode字符串
string
数组类型
一维和多维数组,例如int[]和int[,]
委托类型
delegateTypeD(...)形式的用户定义的类型
2、常用运算符?
3、分支结构语句?
(if…else、switch…case)
输入学生成绩(百分制),判断该成绩的等级(优秀、良好、中等、及格、不及格)。
4、循环结构语句?
(for、while、do、foreach)
foreach循环用于遍历整个集合或数组
foreach(数据类型元素(变量)in集合或者数组)
{
//循环体
}
char[]A={'a','b','c','d'};
foreach(chartempinA)
{
Console.WriteLine(temp);
}
5、跳转语句?
(break、continue、return)
break语句可用于从循环体内跳出,即结束循环
continue语句可用于跳过本次循环中尚未执行的语句,重新开始新一轮的循环
return语句可使程序流程从方法调用中返回,并可以带回一个返回值。
格式为:
return<返回类型>;
6、一、二维数组的声明和使用?
声明并初始化
int[]array1=newint[5]{1,3,5,7,9};
string[]weekDays1=newstring[]{"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
int[]array2={1,3,5,7,9};
string[]weekDays2={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
声明一个数组变量但不将其初始化
int[]array3,array4;
array3=newint[]{1,3,5,7,9};//OK
array4={1,3,5,7,9};//Error
7、Random类的使用?
⏹Next()方法:
返回一个非负随机数
⏹Next(int)方法:
返回一个小于指定数的非负随机数
⏹Next(int,int)方法:
返回一个指定范围内的随机数
⏹NextDouble()方法:
返回一个介于0.0和1.0之间的随机数
●示例:
Next(1,100)//随机生成1~99之间的随机数
8、Console对象的常用方法?
9、本章练习:
(1)百分制向等级制的转换;(√)
(2)累加1~100之间所有的偶数,如果和能被7整除,则退出循环;
(3)随机生成10个两位正整数,存储到一个一维数组中,然后使用foreach循环进行输出;
int[]a=newint[10];
Randomran=newRandom();
for(inti=0;i<10;i++)
{
a[i]=ran.Next(10,99);
}
foreach(intsina)
{
Console.WriteLine("{0}/t",s);
}
(4)针对第3题,输出所有的奇数之和、及其平均值;
(5)针对第3题,输出其中的最大值及其位置、最小值及其位置。
三、面向对象概念
1、面向对象语言的特点?
(封装、继承、多态)
2、类的声明
类声明的简化(常用)格式:
class类名
{
[<访问修饰符>]<类成员>
}
3、类的成员的定义(字段、属性、方法)
类的字段:
类(对象)的内部数据成员。
类的属性:
类(对象)的数据接口,表示类(对象)的特性、状态。
类的方法:
类(对象)的操作接口,表示类(对象)的动作、操作。
4、对象的声明、创建
对象的声明格式:
<类名><对象名>;
对象的创建格式:
<对象名>=new<类名>([<构造参数>]);
可以将对象声明、创建合并格式:
<类名><对象名>=new<类名>([<构造参数>]);
5、实例成员的访问、以及静态成员的访问
使用static关键词修饰的类成员,称为类的静态成员。
反之,未使用static关键词修饰的类成员就是非静态成员,称为类的实例成员。
静态成员属于类,实例成员属于类的对象。
程序运行中,如果创建某类的多个对象,则该类的静态成员只有一份,而实例成员则包含在每个对象中。
实例成员可以直接访问静态成员,静态成员不能直接访问实例成员(除非通过实例对象访问)。
6、方法的参数(无参数、ref、out、params)
参数修饰符
(关键词)
含义
说明
无(缺省)
值参数
实参必须先赋值
ref
引用型参数(C#没有指针、使用引用型参数表示地址传递)
实参必须先赋值
out
输出型参数(引用调用,但实参允许未初始化)
实参可以不赋值
params
数组型参数
实参必须先赋值
7、构造函数和析构函数(格式及功能?
)
8、方法重载(格式及功能?
)
9、类的继承(只能有一个父类、可以实现多个接口)
继承及作用域
类中的实例变量有3种声明方式:
public、protected和private,它们控制访问成员的权限。
C#中的派生类无权访问其基类的private成员,但可以访问其public和protected成员;其中public成员也可以被外部代码访问,但protected成员外部代码是无权访问的。
10、重写方法(virtual、override)(注:
new关键字的功能?
)
new关键字
在派生类中定义一个与从基类中所继承成员相同名称的成员。
使用new修饰符来隐藏基类中的同名成员(这一步不是必需的,否则会产生编译警告信息)。
override关键字
在C#中要扩展或修改继承得来的虚方法或抽象方法等,必须使用override关键字进行重写。
-----在派生类中通过override声明重写的方法称为重写基方法,override方法与被重写的基类方法具有相同的签名、而且被重写的基类方法必须是用virtual、abstract或override关键字修饰的。
●格式:
[访问修饰符]override<返回值类型><方法名>([<形式参数表>])
{
……
//语句
……
}
●格式:
[访问修饰符]virtual<返回值类型><方法名>([<形式参数表>])
{
……
//语句
……
}
11、抽象类(abstract)和密封类(sealed)的功能?
●抽象类(abstract)是没有完整实现的类,只能供派生类继承,不能创建实例。
●C#抽象类通过abstract关键词修饰,并在类中定义抽象方法。
●继承抽象类的派生类必须重写所有的抽象方法来实现其功能。
●可以使用抽象类描述一个类层次的总体框架。
●与抽象类相对的类设计是密封类(sealed);抽象类是用于被派生,并为子类提供标准,而密封类则不允许被继承。
●如果不希望基类中的方法被重写,也可以用sealed关键字来修饰这个方法,这样的方法被称为密封方法。
12、多态性的实现方法
13、本章练习:
(1)定义一个圆类,拥有1个成员变量:
半径,为这个成员变量定义属性;同时定义1个方法:
计算面积。
在Main函数中编写代码,要求运行时,可以计算出某一圆的面积(半径为4.8),并输出结果。
(2)定义一个飞机类(Plane),拥有两个成员变量:
速度(speed)、飞行高度(height),为这两个成员变量分别定义属性(Speed,Height);同时定义三个方法:
起飞(takeoff)、飞行(fly)、降落(putdown);另外定义一个带有参数的构造函数,通过参数初始化速度、飞行高度。
再定义一个子类民航飞机类(Airliner),增加两个成员变量:
飞行距离(distance)、运载人数(peoplenumber);定义一个带有参数的构造函数,通过参数初始化速度、飞行高度、飞行距离、运载人数;
publicabstractclassVehicle
{
publicdoublespeed;
publicdoublemaxspeed;
publicdoubleweight;
publicdoubleSpeed
{
get{returnspeed;}
set{speed=value;}
}
publicdoubleMaxSpeed
{
get{returnmaxspeed;}
set{maxspeed=value;}
}
publicdoubleWeight
{
get{returnweight;}
set{weight=value;}
}
publicabstractvoidRun();
publicabstractvoidStop();
}
classBycicle:
Vehicle
{
publicdoublespeed1;
publicdoublemaxspeed1;
publicdoubleweight1;
publicdoubleSpeed1
{
get{returnspeed1;}
set{speed1=value;}
}
publicdoubleMaxSpeed1
{
get{returnmaxspeed1;}
set{maxspeed1=value;}
}
publicdoubleWeight1
{
get{returnweight1;}
set{weight1=value;}
}
publicoverridevoidRun()
{
Console.WriteLine("自行车启动");
}
publicoverridevoidStop()
{
Console.WriteLine("自行车停止");
}
}
classCar:
Vehicle
{
publicdoublespeed2;
publicdoublemaxspeed2;
publicdoubleweight2;
publicdoubleSpeed2
{
get{returnspeed2;}
set{speed2=value;}
}
publicdoubleMaxSpeed2
{
get{returnmaxspeed2;}
set{maxspeed2=value;}
}
publicdoubleWeight2
{
get{returnweight2;}
set{weight2=value;}
}
publicoverridevoidRun()
{
Console.WriteLine("汽车启动");
}
publicoverridevoidStop()
{
Console.WriteLine("汽车停止");
}
}
classProgram
{
staticvoidMain(string[]args)
{
Byciclea=newBycicle();
a.speed1=23.0;
a.maxspeed1=45.0;
a.Weight1=250;
Carb=newCar();
b.speed2=35.0;
b.maxspeed2=78.0;
b.Weight2=750;
a.Run();
a.Stop();
b.Run();
b.Stop();
Console.ReadLine();
}
}
(3)P63(3.2.1);
(4)P73(3.4.1);
(5)P75(3.4.2);
四、字符串的使用
1、String(不可更改的字符串)
创建字符串最常用的方式是把一个引号括起的字符串,赋给一个用户定义的string类型变量。
例如:
stringnewString="Thisisastring";
创建字符串的另一常用方式是调用某对象的ToString()方法,并将结果赋给一个字符串变量。
例如:
intmyInt=5;
stringintString=myInt.ToString();
(1)指定位置字符的访问?
IndexOf()
(2)Length属性公共属性,获取此实例中的字符数
(3)IndexOf()方法
返回指定字符或字符串在该字符串中第一次出现的索引值,如果没有匹配项,则返回-1
(4)Insert()方法在此实例的指定索引处插入一个字符串
(5)Remove()方法从此实例中删除指定数量的字符
(6)Substring()方法获取一个子串
(7)Replace()方法用新的字符或字符串替换此实例中指定的字符或字符串
(8)ToLower()方法以小写形式返回字符串的一个副本
(9)ToUpper()方法以大写形式返回字符串的一个副本
(10)Trim()方法从此实例的开始位置和结尾移除与数组中所指定字符相匹配的所有内容
2、StringBuilder(可更改的字符串)
(1)需要引用System.Text命名空间
(2)Append()方法用于将某类型的对象加入到当前实例的末尾
3、本章练习:
//定义两个整数分别存储输入的数字和输出的结果
intnum,result;
Console.WriteLine("请输入要倒序输出的数字");
num=int.Parse(Console.ReadLine());
//循环计算直到输入的数字为0时结束
while(num!
=0)
{
//先取出最后的一位数字
//之后输入这一位数字
//最后把当前的整数转换为丢失最后一位数字的整数
result=num%10;
Console.Write(result);
num/=10;
}
Console.ReadKey();
(1)输入一个字符串,然后倒序输出;
Console.WriteLine("请输入一个正整数:
");
strings=Console.ReadLine();
for(inti=s.Length;i>0;i--)
Console.Write("{0}",s[i-1]);
(2)输入一个字符串,查找“abc”在该字符串中的位置;
Console.WriteLine("输入一个字符串:
");
strings=Console.ReadLine();
Console.WriteLine(s.IndexOf("abc"));
(3)返回某一字符串中第3~9位置的子串内容;
Console.WriteLine(s.Substring(2,8));
(4)删除某一字符串中最后5个字符,并把删除后的字符串输出。
五、GUI程序设计
1、Form窗体
(1)常用方法
●Show()显示窗体
●ShowDialog()将窗体显示为模式对话框
●Hide()隐藏窗体
●Close()关闭窗体,释放资源
●
(2)常用事件
●Load
●FormClosing(e.cancel=true/false)、FormClosed
●Click
●KeyPress
●KeyDown、KeyUp
(3)多窗体的调用
2、基本控件
(1)常用属性
●Name
●
●Text
●
●Enabled
●
●Visible
●
(2)CheckBox、RadioBox控件
●Checked属性是否选中
(3)ListBox、ComboBox控件
●Items属性(Count、Add()、Remove()、Clear()、IndexOf())
●SelectItem属性
●
●SelectIndex属性
(4)Timer控件
●Enabled属性
●Interval属性
●Tick()事件每当过去Interval属性指定毫秒时触发
(5)容器控件的概念
(6)MessageBox的使用(Show方法)
六、文本编辑器的设计
1、常用文件系统操作类
(1)Directory、DirectoryInfo类
(2)File、FileInfo类
(3)FileStream类
(4)StreamWriter、StreamReader类
2、以上使用需要引用System.IO命名空间
3、常用的标准对话框控件:
(1)OpenFileDialog(FileName属性、Filter属性)
(2)SaveFileDialog
(3)FontDialog
(4)ColorDialog
(5)Print
4、菜单(MenuStrip)控件
(1)菜单项(ToolStripMenuItem)的常用属性
●Name
●
●Text
●
●Checked
●
●Visible
●
●Enabled
●
(2)菜单项(ToolStripMenuItem)的常用事件
●Click
七、委托与异常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 复习 提纲
![提示](https://static.bdocx.com/images/bang_tan.gif)