C#重点知识.docx
- 文档编号:4127253
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:33.28KB
C#重点知识.docx
《C#重点知识.docx》由会员分享,可在线阅读,更多相关《C#重点知识.docx(18页珍藏版)》请在冰豆网上搜索。
C#重点知识
C#复习资料
1.用C#语言编码的源程序被C#编译器编译为中间语言,需要.NETFrameWork支持,形成.exe或.dll文件。
2.C#语言是完全面向对象的。
所有的函数变量和常量都必须定义在类中。
3.写出完整的一个C#程序,要有入口点staticvoidmain()
usingSystem
Classwelcome
{staticvoidmain()
{Console.WriteLine(“请键入你的姓名:
”);
Console.ReadLine();
Console.WriteLine(“欢迎!
”);
}
}
4.命名空间是函数、类或组件的容量,把它们按类别放入不同的命名空间中。
作用提供了一个逻辑上的层次结构体系,使应用程序能方便地找到所需代码。
(为下面程序写代码方面,上面只写一次,下面要用到的代码被引用进来。
)开始的using后面都是命名空间,声明时不允许使用任何访问修饰符,隐式使用public修饰符。
5.类的概念类是对数据和处理数据的方法(函数)的封装,是对一些具有相同特性和行为的事物的描述。
6.类和类的对象的区别:
类是抽象的,类的对象是具体的;类是能总结出一些东西的范畴,而类的对象是实在存在的物体,类的实例则称为对象。
7.构造函数①构造函数和类名相同,区分大小写②不能有任何返回值和修饰符。
8.函数重载同一个类中的函数,如果函数名相同,而参数的类型或个数不同,认为是不同的函数。
仅返回值不同,不能看做不同的函数。
9.new的操作符①创建类型变量,引用类型对象,同时自动调用构造函数②声明一个数值。
int[]a={1,2,3};
F(a);
F(10,20,30)
F(newint[]{60,70,80,90});
F(newint[]{});
或int[]array=newint[5];//从0到4共5个元素,每个元素默认值为0
10.try–catch语句:
1)finally的意思:
在程序中,无论是否产生异常,finally语句一定会执行的,在其子句中可以增加一些必须执行的语句;
2)catch的意思:
包含了对不同异常类型的处理代码,可包含多个catch语句,每个catch子句参数是一个异常类型system.Exception类或它的派生类引用变量,代表catch子句要处理的异常类型;
3)try的意思:
包含可能产生异常的语句,该子句自动捕捉执行这些异常。
11.base的作用:
1)在定义派生类的构造函数中,指明要调用的基类构造函数。
由于基类可能有多个构造函数,根据base后的参数类型和个数,指明要调用哪一个基类构造函数;
2)在派生类的方法中调用基类中被派生类隐藏的方法。
12.类的继承、派生类:
以Person类为基类,派生出Employee类,Employee类继承了Person类的数据成员和函数成员,即Person类的数据成员和函数成员成为Employee类的成员,C#用继承方法,实现代码的通用。
派生类的格式:
class派生类名:
基类名{类体}→classEmployee:
Person
13.类的多态性:
①编译时多态性②运行时多态性
14.partial的意思:
把一个类定到两个文件去(表示代码在不同的文件)。
15.using的作用:
①调用系统程序包,在使用对象或自动引用程序包②限定一个对象存在的空间范围。
16.三者关系:
解决方案(solution)包含一个或多个项目(project),项目又包括程序代码的多个文件。
17.C#语言把所有文件都看成顺序字节流,用抽象类Stream表示一个流。
使用流读写文件必须引入命名空间system.ID。
18.C#语言中用File和FileInfo类来创建、复制、删除、移动和打开文件。
但File类不能建立对象,FileInfo类能建立对象。
19.数据库的应用系统包括三部分:
数据库管理系统、数据库、数据库应用程序。
20.使用ADO.NET设计一个是否连接方式数据库应用程序。
21.所有的上机实验(除有FTP那个程序)
22.P188页的4个SQL语句:
1)select*fromstudent:
或(where)
2)InsertIntostudent(StudentNum,StudentName,StudentSex)Valuse(‘5’,‘田七’,‘男’):
3)DeleteFromstudentwhereStudentNum=1:
4)Updatestudentsetstudentname=‘陈七’WhereStudentNum=1:
23.数据库用户要连接的:
server=ip地址;database=xx;uid=xx;pwd=xx
24.
建立连接后,ADO.NET可以通过SQLCommand类对象用SQL语句来访问数据库中的数据,在数据表中查询指定记录、增加、删除、修改记录的数据。
25.SqlDataAdapter(作业代码)可以赋值为相应SQL语句,实现对数据库的选择。
。
。
。
等功能。
用Fill()和Update()填充和更新Dataset类对象
26.DataSet对象只在获取或更新数据时保持和数据库连接,其他时间都是断开的,是数据库执行其他。
DataTable(表示内存中数据的一个表)
扩展:
1)DataReader用于读取数据,DataSet用于在内存中保存数据。
2)DataReader使用时始终占用SqLConnection在线操作数据库,任何对SqLConnection的操作都会占内存小引起异常。
3)DataSet则将数据一次性加载在内存中,抛弃数据库连接,读取完后断开数据库连接,比较耗内存。
(24~26题看作业程序代码)
27.静态网页(HTML)与动态网页(HTTP)区别:
静态网页是预先做好的网页,在访问时不能被修改,但仍有动态的效果,不需要服务器运行的;动态网页是Web服务器软件不能完成的,它要调用Web应用程序,在服务器端动态运行生成一个程序而发送给客户端的。
28.虚拟目录的作用:
(建立WEB站点)意思是一个不在宿主目录中的目录,经过设置后,可以看作宿主目录中的一个子目录,其中的网页文件允许其他计算机的浏览器进行浏览。
虚拟目录的URL写法:
http:
//IP地址/目录名(网站文件)/文件名.htm
29.动态网页的回调机制
浏览器服务器
HTML在客户端上显示
服务器不会有任何的显示,当客户端发送一个请求时,服务器就会运行生成HTML格式的网页返回给客户端显示响应,之后服务器不会重新生成参数,没有保存的能力,指导客户端的下一次请求。
30.P270~P271的Response、Request用法例子11.2
1)Response对象在网页之间的跳转,可直接发送消息在浏览器中显示,实现从web服务器下载文件,定向浏览器去显示另一个网页,设置Cookie值。
Response.Redirect(“”);
2)Request:
(得到所需的值,参考查询)Request[“”]
1来在不同网页之间传送数据
2Web服务器可以使用Request对象获取用户所使用浏览器的信息
3Web服务器可使用该对象显示Web服务器信息
4获取Cookie信息
31.编程题是作业程序(第一章和第八章数据库)
⏹URL?
数据名称=数据值&数据名称=数据值…….其中?
表示URL后边要传递数据,数据传递格式为:
数据名称=数据值,两个数据之间用&分割。
当数据传递到另一个网页时,另一个网页用Request[“数据名称”]的方法取出这个数据。
⏹Response.Redirect("./search.aspx?
user=sa&pwd=123”);
URL就是上例的./search.aspx,user和pwd就是数据名称,sa和123就是其中的数据值。
⏹完全面向对象:
一切皆对象,所有的语句都存在于类中,最小单位为以类为存在的,代码都写在类里面,编译通过。
⏹public是访问修饰符
⏹void是描述修饰符(返回值)
⏹域:
在类的所有方法都可用的:
例inta;(在程序开头的)
比较重要的程序:
1.2,1.3.5,1.7.1,1.11,8.2,11.2,11.4还有就是所有做过的作业程序,特别是stu和searchWeb
STUDENT程序
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespacestu
{
publicpartialclassForm1:
Form
{
collegeStustu;
studentstu1;
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stu=newcollegeStu();
try
{
stu.setStuInfo(textBox1.Text,Convert.ToInt32(textBox2.Text));
stu.setType(textBox3.Text);
MessageBox.Show(stu.getStuInfo()+"--"+stu.getType());
}
catch(FormatException)
{
MessageBox.Show("年龄错误!
");
}
}
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
MessageBox.Show("button1_Click_1!
");
}
}
classstu
{
privatestringname;
intage;
publicvoidsetStuInfo(stringname,intage)
{
this.name=name;
this.age=age;
}
publicstringgetStuInfo()
{
returnname+","+age;
}
}
classcollegeStu:
stu
{
stringtype;
publicvoidsetType(stringtype)
{
this.type=type;
}
publicstringgetType()
{
returnthis.type;
}
}
}
Studentquan8
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespacestudentquan8
{
publicpartialclassForm2:
Form
{
SqlConnectioncon;
SqlDataAdapterda;
DataSetds;
publicForm2()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
con=newSqlConnection("server=222.16.120.16;database=Student;user=sa;pwd=123456");
con.Open();
da=newSqlDataAdapter("select*fromstud",con);
ds=newDataSet();
da.Fill(ds);
SqlCommandBuilderscb=newSqlCommandBuilder(da);
this.dataGridView1.DataSource=ds.Tables[0];
con.Close();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
if(ds!
=null)
if(ds.HasChanges())
{
try
{
da.Update(ds);
}
catch
{
MessageBox.Show("数据问题,请检查重输!
");
}
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
if(ds==null)
return;
try
{
DataRowdr=ds.Tables[0].NewRow();
dr[1]=textBox2.Text;
dr[0]=Convert.ToInt32(textBox1.Text);
dr[2]=textBox3.Text;
ds.Tables[0].Rows.Add(dr);
}
catch
{
MessageBox.Show("数据问题,请检查重输!
");
}
if(ds.HasChanges())
{
try
{
da.Update(ds);
}
catch
{
MessageBox.Show("数据问题,请检查重输!
");
}
}
}
}
}
网上下载仅供参考!
C#试题
一、单项选择题
1.属于C#语言的关键字()。
答案:
A
A.abstractB.camelC.SalaryD.Employ
2.C#语言中,值类型包括:
基本值类型、结构类型和()。
答案:
D
A.小数类型B.整数类型C.类类型D.枚举类型
3.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
答案:
C
A.int[]arr=newint[10,20]
B.int[]arr=intnew[10,20]
C.int[,]arr=newint[10,20]
D.int[,]arr=newint[20;10]
4.在类作用域中能够通过直接使用该类的()成员名进行访问。
答案:
D
A.私有B.公用C.保护D.任何
5.以下正确的描述是()。
答案:
B
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
6.小数类型和浮点类型都可以表示小数,正确说法:
()答案:
C
A.两者没有任何区别
B.小数类型比浮点类型取值范围大
C.小数类型比浮点类型精度高
D.小数类型比浮点类型精度低
8.能作为C#程序的基本单位是()。
答案:
B
A.字符B.语句C.函数D.源程序文件
9.可用作C#程序用户标识符的一组标识符是()。
答案:
B
A.voiddefine+WORDB.a3_b3_123YN
C.for-abcCaseD.2aDOsizeof
10.引用类型主要有4种:
类类型、数组类型、接口类型和()。
答案:
C
A.对象类型B.字符串类型C.委托类型D.整数类型
11.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是().答案:
B
A.Exists()B.GetFiles()C.GetDirectories()D.CreateDirectory()
12.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是(A)。
A.WriteLine()B.Write()C.WritetoEnd()D.Read()
13.建立访问键时,需在菜单标题的字母前添加的符号是(D)。
A.!
B.#C.$D.&
14.在C#.Net中,用来创建主菜单的对象是(C)。
A.MenuB.MenuItemC.MenuStripD.Item
15.下面所列举的应用程序中,不是多文档应用程序的是(D)
A.WordB.ExcelC.PowerPointD.记事本
16.在VC#.Net中,可以标识不同的对象的属性是(B)。
A.TextB.NameC.TitleD.Index
17.加载窗体时触发的事件是(B)。
A.ClickB.LoadC.GotFoucsD.DoubleClick
18.改变窗体的标题,需修改的窗体属性是(A)。
A.TextB.NameC.TitleD.Index
19.在接口的成员中,不能包含().
A.属性B.方法C.事件D.常量
答案:
D
20.在C#中定义接口时,使用的关键字是(A)。
A.interfaceB.:
C.classD.overrides
1.在类的成员中,用于存储属性值得是(成员变量)。
A.属性B.方法C.事件D.成员变量
2.在C#中,定义派生时,指定其基类应使用的语句是(B)。
A.InheritsB.:
C.ClassD.Overrides
3.类的以下特性中,可以用于方便地重用已有的代码和数据的是(C).
A.多态B.封装C.继承D.抽象
4.在Array类中,可以对一维数组中的元素进行排序的方法是(A)。
A.Sort()B.Clear()C.Copy()D.Reverse()
5.在Array类中,可以对一维数组中的元素查找的方法是(B)。
A.Sort()B.BinarySearch()C.Convert()D.Index()
6.将变量从字符串类型转换为数值类型可以使用的类型转换方法是(D)。
A.Str()B.CcharC.CStr()D.int.Parse();
7.数据类型转换的类是(B)。
A.ModB.ConvertC.ConstD.Single
8.字符串连接运算符包括&和()。
A.+B.-C.*D./
9.先判断条件的当循环语句是(B)。
A.do...whileB.whileC.while...doD.do...loop
10.VC#Net是一种面向(C)的语言。
A.机器B.过程C.对象D.事物
二、填空题
1.switch语句中,每个语句标号所含关键字case后面的表达式必须是常量表达式
2.在while循环语句中,一定要有修改循环条件的语句,否则,可能造成死循环
3.C#数组元素的下标从开始。
答案:
0
4.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。
答案:
continue
5.元素类型为double的2行5列的二维数组共占用字节的存储空间。
答案:
80
6.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。
答案:
object
7.枚举是从System.类继承而来的类型。
答案:
Enum
8.一般将类的构造方法声明为访问权限。
如果声明为private,就不能创建该类的对象。
答案:
public或公有
9.类中声明的属性往往具有get()和两个函数。
答案:
set()
10.对于方法,参数传递分为值传递和两种。
答案:
引用传递
11.传入某个属性的SET方法的隐含参数的名称是。
答:
value
10.C#的类不支持多重继承,但可以用来实现。
答案:
接口
11.C#提供一个默认的无参构造函数,当我实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。
这样我应该写构造函数。
答:
两个
12在方法定义中,virtual含义:
。
答案:
被virtual修饰的方法可以被子类覆写
13.接口(interface)是指:
。
答:
只含有公有抽象方法(publicabstractmethod)的类。
这些方法必须在子类中被实现。
三、程序阅读题
1.写出以下程序的运行结果。
usingSystem;
classTest
{
publicstaticvoidMain()
{
intx=5;
inty=x++;
Console.WriteLine(y);
y=++x;
Console.WriteLine(y);
}
}
答案:
5
7
2.写出以下程序的运行结果。
usingSystem;
classTest
{
publicstaticvoidMain()
{
int[]a={2,4,6,8,10,12,14,16,18};
for(inti=0;i<9;i++){
Console.write(“”+a[i]);
if((i+1)%3==0)Console.writeLine();
}}
}
答案:
246
81012
141618
3.写出以下程序运行结果。
usingSystem;
classTest
{
publicstaticvoidMain()
{
ints=0;
for(inti=1;;i++){
if(s>50)break;
if(i%2==0)s+=i;
}
Console.writeLine("i,s="+i+","+s);
}}
答案:
i,s=15,56
4.写出以下程序运行结果。
usingSystem;
classTest
{
staticvoidLE(refinta,refintb){
intx=a;
a=b;b=x;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 重点 知识