复习提纲
第1章 .NET与C#
1、.NET Framework版本改进线路图及各种版本之间关系。
2、.NET Framework 3.0 WPF、WCF、WF、Windows CardSpace四个重要组件。
3、.NET Framework 3.5引入的一些新的技术:LINQ 、ASP.NET AJAX、新编译器、基础类库中的附加类型等。
4、.NET Framework结构 5、.NET程序的编译与运行 6、基于.NET的应用程序种类 7、Visual Studio 2008集成开发环境 8、C#程序的基本结构及基本编码规则
第2章 C#编程基础
1、数据类型 2、变量和常量 3、数据类型转换 4、运算符与表达式 5、控制语句 6、数组
第3章 面向对象程序设计
1、对象与类概念 2、面向对象的基本特征 3、类成员及类成员的可访问性 4、静态成员与实例成员 5、构造函数和析构函数 6、方法的定义与调用、参数类型 7、静态方法与实例方法 8、方法重载 9、继承的概念 10、抽象类与抽象方法
11、多态性:成员隐藏、虚方法和重写 12、委托、事件和事件处理的机制
13、接口:接口定义、实现、接口与抽象类比较 14、结构与枚举
15、.NET Framework基础类库:Math类、DateTime和TimeSpan类、Random类、String类、StringBuilder类、Array类、集合、 ArrayList、Hashtable、 Queue和Stack、SortedList类 16、集合空间接口
第4章 C#2.0/3.0新特性
1、C#2.0引入新技术:泛型、分部类型、匿名方法、静态类、迭代器、可空类型等。
2、C#3.0新特性:隐式类型、自动实现的属性、对象与集合初始化、匿名类型、扩展方法、分部方法与Lambda式等。
第5章 异常处理与程序调试
1、错误、异常与调试的概念 2、异常处理机制
1
3、异常处理语句 4、自定义异常
第6章 Windows应用
1、Windows编程基本步骤 2、事件驱动机制
3、鼠标和键盘事件及其编程
4、窗体、基本控件、对话框、菜单、工具栏和状态栏设计 5、多重窗体与多文档界面
第7章 图形图像编程
1、GDI+概述 2、简单数据结构 3、Graphics类 4、画笔和画刷
5、坐标系统:全局坐标、页面坐标和设备坐标
第8章 流和文件
1、文件和流概念 2、文件与目录管理 3、文件流
4、文本文件与二进制文件的读写
第9章 数据库程序设计
1、ADO.NET对象模型:ADO.NET包含两个核心组件:.NET数据提供程序(Data Provider)和DataSet。 2、数据库的连接
3、直接访问模式,包括参数查询与存储过程调用 4、数据集模式 5、读写XML文件
第10章 ASP.NET编程初步
1、ASP.NET程序运行机制和组成 2、 ASP.NET基本语法和内置对象 3、 Web窗体
(1)Web窗体组成、事件响应(2)页面间传值方法 4、ASP.NET服务器控件
(1)验证控件: RequirefieldValidator控件、CompareValidator控件、 RangeValidator控件、RegularExpressionValidator控件、CustomValidator控件、ValidationSummary控件
(2)数据控件:GridView控件、DetailsView控件、Formview控件、 Repeater和DataList控件 5、Web 服务概念、体系结构、服务的创建及调用
第11章 .NET3.0/3.5扩展编程
1、 WPF技术基础
(1)WPF概述:WPF主要功能、WPF的组成(2)WPF控件集 2、工作流基础
(1)工作流引擎 (2)宿主 (3)活动 (4)工作流类型 (5)顺序工作流 (6)状态机工作流。在状态机工作流模型中,工作流由一系列的状态活动组成。 3、WCF编程基础
(1)WCF概述。WCF是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework3.0中新增的一个重要组件。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处
2
理的企业级互联应用解决方案。
(2)服务:服务主要包括契约和服务的实现。
(3)宿主进程。WCF服务不可能凭空存在。每个WCF服务必须托管(Hosting)在Windows进程中,该进程就称为宿主进程(Host Process)。宿主可以由IIS提供,也可以有WindowsForm程序或者Console提供,也可以由Windows服务提供。下面代码中宿主由Console提供。 4、AJAX基础
(1)AJAX简介。
如何解决HTTP请求的同步性问题呢?AJAX就是解决这一问题的一个答案。AJAX是Asynchronous JavaScript and XML的缩写,翻译成中文是“异步JavaScript和XML”。 AJAX并不是一种新出现的技术,它是现有的技术,如JavaScript、XML、XHTML、CSS和XMLHTTP等的一种组合。AJAX使用现存的技术为客户端提供了和Web服务器之间进行异步通信的方式,从而让Web应用可以摆脱传统请求响应的模式。简单地讲,AJAX是一种新的异步通信框架。AJAX的出现大大提升了Web应用程序的客户体验,带给用户更加流畅和友好的使用感受。
(2)AJAX优势 (3)服务器控件 5、 LINQ技术
LINQ(Language-Integrated Query,语言集成查询)是微软公司推出的一项新技术,它能够将查询功能直接引入到.NET Framework 3.5所支持的编程语言(如C#, Visual Basic.NET等)中。查询操作可以通过编程语言自身来传达,而不是以字符串嵌入到应用程序代码中。LINQ主要包括4个组件:LINQ to Objects、LINQ to SQL、LINQ to DataSet和LINQ to XML,它们分别查询和处理对象数据(如集合等)、关系数据(如SQL Server数据库等)、DataSet对象数据和XML结构数据。
(1)LINQ基本架构
LINQ主要由三部分组成:LINQ to Objects、LINQ to ADONET和LINQ to XML。其中,LINQto ADO.NET可以分为两部分:LINQ to SQL和LINQ to DataSet。
(2) LINQ执行过程
所有LINQ 查询操作都由获取数据源、创建查询、 执行查询三个不同的操作组成。 (3)LINQ查询子句
3
附:复习题
一、单项选择题
1、以下属于C#简单值数据类型的有【】。
(A) int类型 (B) int[]类型 (C) char类型 (D)枚举类型 2、以下数组声明语句中,不正确的有【】。 (A) int[] a; (B) int [] a=new int[2]; (C) int[] a={1,3}; (D) int [] a =int [] {1,3}; 3、以下拆箱转换语句中,正确的有【】。
(A)object o; int i=(int)o; (B)object o=10.5;int i=(int)o;
(C)object o=10.5;float f=(float)o; (D)object o=10.5;float f=((float)(double)o);
4、若bool型变量a和b的取值分别为true和false,则表达式a && (a||!b)和a | (a &!b)的值分别为【】。 (A) true true (B)true false (C)false false (D)false true 5、C#语言经编译后得到的是【】。
(A)汇编指令 (B)机器指令 (C)本机指令 (D) Microsoft中间语言指令
6、.NET Framework的SDK中提供了一个反汇编工具,利用该工具可以查看可执行文件所包含方法和元数据。该工具是【】。(A)ccspy.exe (B)ildasm.exe (C)msvsmon.exe(D)dotfuscator.exe 7、下列【】选项不是.Net框架可以创建的应用程序类型。
(A)控制台应用 (B)MIS系统 (C)Web 服务 (D)windows应用 8、下面有关静态方法的描述中,错误的是【】。
(A)静态方法属于类,不属于实例 (B)静态方法可以直接用类名调用 (C)静态方法中,可以定义非静态的局部变量 (D)静态方法中,可以访问实例方法 9、关于委托的说法,错误的描述是【】。
(A)委托属于引用类型 (B)委托用于封装方法的引用 (C)委托可以封装多个方法 (D)委托不必实例化即可被调用
10、C#中导入某一命名空间的关键字是【】。(A)using (B)use (C)import (D)include 11、类的成员中,不能定义为静态的有【】。 (A)析构函数(B)属性(C)索引函数(D)方法
12、在编写C#程序时,若需要对一个数组中的所有元素进行处理,则使用【】方法最好。 (A) for 循环(B) while 循环 (C) foreach 循环(D) do...while 循环 13、下列关于构造函数的描述正确的是【】。
(A)构造函数不可以用public修饰 (B)构造函数的方法名必须与类名相同 (C)构造函数可以声明返回类型 (D)构造函数不能带参数 14、关于泛型类中类型参数的说法错误的是【】。
(A)类型参数可以用作成员字段类型 (B)类型参数可以用作成员方法的参数类型 (C)类型参数可以用作成员方法的返回类型(D)以上说法不全对
15、设可空类型的变量x取值为null,那么访问其下列成员会引发异常的有【】。 (A)x.GetValueOrDefault(B)x.HasValue(C)x.ToString() (D)x.GetType() 16、对于下面的泛型方法定义,以下调用形式中会失败的有【】。 public class C {
public static void FA
(A)C.FA(2, 3); (B) C.FA
4
(C)C.FA
(A)隐式类型(B)扩展方法(C)匿名方法(D)自动实现的属性
18、假定有一个菜单项,名为MenuItem,为使菜单不可用,应使用的语句为【】。 (A) MenuItem. Visible= False (B) MenuItem. Enabled=True (C) MenuItem. Visible= True (D)MenuItem. Enabled=False 19、如果要将窗体设置为半透明,则【】。
(A)要将Opacity属性的值设置为小于100%(B)要将FormBoderStyle属性设置为None (C)要将locked 属性设置为True (D)要将 Enabled属性设置为True
20、关于窗体的MouseDown事件过程Form1_MouseDown(object sender, MouseEventArgs e)的正确描述是【】。 (A)通过e参数就可判定当前按下的是哪一个鼠标键。 (B)通过e.Button就可判定当前按下的是哪一个鼠标键 (C)通过e.Clicks就可判定当前按下的是哪一个鼠标键 (D)通过sender参数就可判定当前按下的是哪一个鼠标键
21、打开通用对话框openFileDialog的【】属性用于返回用户在打开对话框中所选择的文件名和盘符路径。(A)Tag (B) FileName (C)Title (D) ValidateNames
22、在窗体上放置一个列表框和一个命令按钮,其名称分别为listBox1和button1,然后编写如下事件过程代码,程序运行后,单击命令按钮button1,其结果是【】。 private void Form1_Load(object sender, EventArgs e) { listBox1.Items.Add(\ listBox1.Items.Add(\ listBox1.Items.Add(\ }
private void button1_Click(object sender, EventArgs e) { listBox1.Items.Add(\ }
(A)把字符串\添加到列表框,位置不确定 (B)把字符串\添加到列表框最后 (C)把字符串\添加到列表框第一项 (D)将列表框原有最后一项修改为\
23、C#中,GDI+可以使用三种坐标空间,它们是全局坐标、页面坐标和【】。 (A)设备坐标 (B)局部坐标(C)窗体坐标(D)自定义坐标
24、在ASP.NET程序设计中,要将文本输入框转变为密码输入框,需要设置Web服务器控件TextBox的【】属性。(A) TextMode (B)PasswordChar(C)AutoPostBack (D)ID 26、如果想要验证用户输入的数字是否为素数,则应该使用【】类型的验证控件。
(A)RequiredFieldValidator(B)CompareValidator(C)RangeValidator(D)CustomValidator
27、在.NET3.5中,微软提供了一种新的标记语言,用于对WPF程序的所有界面元素进行定制,从而构成具有WPF风格的界面。这种标记语言是【】。 (A)milcore(B)Kernel(C)XML(D)XAML 28、下面有关属性的说法,不正确的有【】。 A. 属性的值表示该对象相应的状态值。 B. 属性的修饰符不可以为static。
C. get访问器的返回类型必须与属性类型相同,或者可以隐式转换为属性类型。 D. set访问器等价于一个具有隐含参数value的方法。
5
29、关于AJAX描述,正确的是【】。
(A)AJAX是使用托管代码建立和运行面向服务应用程序的统一框架
(B)AJAX是一种最新的异步通信框架,可以有效地提升了Web应用程序的客户体验 (C)AJAX是Microsoft提供的一种数据绑定技术 (D)AJAX主要用于解决页面之间数据传输问题 30、关于LINQ描述,说法错误的是【】。
(A)LINQ查询操作通过编程语言自身来传达,而不是以字符串嵌入到应用程序代码中 (B)LINQ包括LINQ to Objects、LINQ to SQL、LINQ to DataSet和LINQ to XML组件 (C)一个LINQ查询表达式不允许包含多个from子句
(D)LINQ是.NET 3.5中一项突破性的创新,在对象领域和数据领域之间架起了一座桥梁 31、C#语言源代码文件的后缀名为【】。 (A) .C# (B) .C (C) .CSP (D) .CS
32、若多维数组a有4行3列,那么数组中第10个元素的写法为【】。 (A) a[10] (B)a[2, 1] (C)a[3, 0] (D)a[4, 1]
33、 在ASP.NET程序设计中,要验证输入的银行信用卡卡号是否符合规定,需要使用( )验证控件。 (A)CustomValidator (B)RangeValidator (C)RegularExpressionValidator(D)CompareValidator 34、以下多维数组声明语句中,不正确的有【】。 (A) int[,] a=new int[2, 3]; (B) int[,] a = { { 1, 2, 3 } }; (C) int[,] a=new int[2,3]; (D) int [,] a={{1,2,3},{2,3}}; 35、下列【】选项的变量之间的转换不能是隐式转换? (A)short转换成int (B)short转换成float (C)double转换成float (D)int转换成long
36、设double型变量x和y的取值分别为12.5和5.0,那么表达式x/y+(int)(x/y)-(int)x/y的值为【】。 (A)2.9 (B)2.5 (C)2.1 (D)2
37、设int型变量x的值为9,那么表达式x-- +x--+x--的值为【】。 (A) 27 (B)24 (C)21 (D)18 38、CLR是一种【】。
(A)程序设计语言(B)运行环境 (C)开发环境 (D) API编程接口 39、C#程序的执行过程是【】。
(A)从程序的第一个方法开始,到最后一个方法结束 (B)从程序的Main方法开始,到最后一个方法结束 (C)从程序的第一个方法开始,到Main方法结束 (D)从程序的Main方法开始,到Main方法结束
40、下列各种数据类型中,哪种数据类型属于引用类型。【】 A.enum B. string C. struct D.int
41、在C#中不可作为注释的选项是【】。(A) // (B) ’ (C)/* 和*/ (D)/// 42、在类的外部可以被访问的成员是【】。
(A)public成员(B)private成员(C)protected成员(D) proteced internal成员 43、以下关于类和对象的说法中,不正确的是【】。
(A)类包含了数据和对数据的操作 (B)一个对象一定属于某个类 (C)密封类不能被继承 (D)可由抽象类直接生成对象 44、下面有关析构函数的说法中,不正确的是【】。
(A)析构函数中不可以包含return语句(B)一个类中只能有一个析构函数
(C)用户可以定义有参析构函数 (D)析构函数在对象被撤销时,被自动调用
6