C#程序设计章节习题及答案_第1页
C#程序设计章节习题及答案_第2页
C#程序设计章节习题及答案_第3页
C#程序设计章节习题及答案_第4页
C#程序设计章节习题及答案_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章什么是.NET?简述.NET的意义。答:.NETFramework是一个集成在Windows中的组件,它支持生成和运行下一代应用程序与XMLWebServices。它提供了一种开发平台,主要分为4个部分:通用语言开发环境、.NET基础类库、.NET开发语言和VisualStudio.NET集成开发环境。应用.NET主要存在以下意义:①提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。②提供一个将软件部署和版本控制冲突最小化的代码执行环境。③提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。④提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。⑤使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。⑥按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。理解Microsoft.NETFramework的体系结构图,简述.NETFramework的工作原理。答:Microsoft.NETFramework的体系结构如下:C#VC++.Net……VJ#VB.NetC#VC++.Net……VJ#VB.Net.NetFramework类库.NetFramework类库公共语言运行时(CLR)公共语言运行时(CLR)操作系统操作系统硬件硬件.NETFramework的工作原理:编码语言(c#,,c++等)编码后,由VS负责把它编译为中间代码(MSIL),存放在装配件中,而后由JIT编译器把中间代码翻译为目标机器可读的目标代码.

什么是公共语言运行时(CLR)?其主要作用是什么?答:CLR是公共语言运行时(CommonLanguageRuntime),也称为公共语言运行库,它和Java虚拟机一样,也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。其中,CLR的主要作用有以下几点:①管理内存;②易于设计组件和应用程序,其对象可以跨语言互动;③一次变异,就可运行在支持运行库的任何CPU和操作系统之上;④跨语言集成(特别是跨语言继承)。什么是MSIL?理解.NET平台的两次编译。答:Microsoft中间语言(MSIL)由一组特定的指令组成,这些指令指明如何执行代码。在.NET中代码的编译分为两个阶段:(1)把源代码编译为Microsoft中间语言(IL)。(2)CLR把IL编译为平台专用的代码。具体编译过程如下:源代码源代码编译器MSIL操作系统CPUMSIL编译器机器码启动启动载入编译读取其中,中间语言(IL)在.NETFramework中有非常重要的作用,所有面向.NET的语言都要先编译成IL,那么它们在逻辑上都需要支持IL的主要特征。什么是CLS和CTS? 答:CLS中文全称为“通用语言规范”,即CommonLanguageSpecification。它是CTS的一个子集,所有.NET语言都将支持它。任何使用CLS兼容的类型的程序,都可以和以任何语言编写的.NET程序进行互操作。它规定所有.NET语言都应遵循的规则,生成可与其他语言互操作的应用程序。 CTS中文全称为“公共类型系统”,即CommonTypeSystem。这是.NET运行时能够理解的一大套类型,因此,.NET应用程序就可以使用它们。不过要注意,并不是所有.NET语言都支持CTS中所有类型的。什么是C#?它有哪些特点? 答:C#语言是一种编译解释型语言,其原始代码被编译成能够被.NET框架识别的编码,并运行在.NET平台上。总地来说,C#具有以下突出的优点:语法简洁;彻底的面向对象设计;与Web应用紧密结合;强大的安全机制;完善的错误、异常处理机制;灵活的版本处理技术。C#与C++和Java语言相比有什么优缺点?答:C#与C++相比:C#提供快捷的开发方式,又没有丢掉C和C++强大的控制能力。C#与C++非常相似,熟悉C++的程序设计人员能够很快掌握C#。且与之相比,C#最大的特色是不允许直接操作内存,去掉了指针操作。另外,C#简化了C++中一些荣誉的语法,如“const”和“#define”,使语法更加简洁。C#与Java相比:C#的语法要比Java强大,因为C#支持运算符重载和类型安全的枚举,另外,如果需要,还可以在C#代码中选择嵌入式指针和其它不合法的语法,只要把它们放在“非安全”的代码块中即可。什么是命名空间?使用命名空间有什么好处?答:命名空间是用来组织类的。通常可以把相关联的类放在一个命名空间中,进行有效的管理。命名空间就是为解决C#中的变量、函数的命名冲突而服务的。我们可以使用程序开头的using编译指示来使用命名空间中的名字。使用using编译指示的好处在于在程序中不必显式地使用命名空间限制符来访问变量。第2章C#数据类型可分为几大类?C#值类型包括哪些?答:根据在内存中存储位置的不同,C#中的数据类型可分为以下两类:(1)值类型:该类型的数据长度固定,存放于栈内。(2)引用类型:该类型的数据长度可变,存放于堆内。 其中,C#的值类型主要包括:整数类型、字符类型、布尔类型、结构类型和枚举类型。结构和类的最主要区别是什么?答:结构和类进行比较,结构存放在栈中并以值传递,类存放在堆中并以引用传递。举两个例子,使用new关键字实例化引用数据类型的对象。答:C#不允许在安全代码中使用指针,因此要处理堆中的数据就需要使用引用数据类型,使用new关键字实例化引用数据类型的对象,并指向堆中的对象数据。例如:①Obj1=newObj();②int[]nVar=newint[]{0,1,2,3};定义一个表示学生性别的枚举类型。答:publicenumstudentSex{boy=0,girl=1}定义一个表示图书信息的结构类型。要求包含:书名、作者、出版社、定价、页数、书号等字段。试编写一个简单的控制台程序,使用ReadLine语句为一个图书信息的各个字段赋值,并用WriteLine语句在屏幕上显示这些值。答:图书信息的结构类型:publicstructBookInf{publicstringbookname;publicstringauthor;publicstringpubhouse;publicfloatprice;publicintpagenum;publicstringISBN;}控制台程序:classbook{staticvoidMain(string[]args){BookInfbook=newBookInf();book.bookname=Console.ReadLine();book.author=Console.ReadLine();book.pubhouse=Console.ReadLine();book.price=Console.ReadLine();book.pagenum=Console.ReadLine();book.ISBN=Console.ReadLine();Console.WriteLine(book.bookname);Console.WriteLine(book.author);Console.WriteLine(book.pubhouse);Console.WriteLine(book.price);Console.WriteLine(book.pagenum);Console.WriteLine(book.ISBN);}}数组的基类是什么?声明一个数组类型。答:C#中System.Array是所有数组的基类。举例:声明:int[]arr,

计算数组的元素的个数:arr.Length

下标:总0开始;格式:DataType[numberofelements]ArrayName;示例:int[6]array1;C#中的变量命名规范有哪些?答:确定在C#中可以使用什么标识符有两个规则:(1)它们必须以一个字母或下划线开头,但可以包含数字字符;(2)不能把C#关键字用作标识符。C#的程序结构主要有哪些?答:C#的程序结构主要有顺序结构、分支结构和循环结构,另外,C#也支持无条件跳转。9.在什么情况下循环过程会出现死循环?循环中跳转语句break或continue语句的区别是什么?答:循环条件一直成立的情况下会发生死循环。在循环中如果突然想结束循环时,需要使用跳转语句break或continue语句。break语句不仅可以用在switch中,也可以用在循环语句中,用于中断循环,从循环中跳出。而continue语句的作用在于,可以提前结束一次循环过程中执行的循环体,直接进入下一次循环。10.试编写一个程序,将1~500间能同时被2,5,7整除的数打印出来。答:运行结果:11.如果我国的经济增长以每年8%的速度保持稳定不变,试编写一个程序,计算过多少年可以实现总量翻两番?答:运算结果:第3章理解什么是对象及面向对象的开发。答:在面向对象程序设计技术中,对象是具有属性(又称状态)和操作(又称方法、行为方式和消息等)的实体,是面向对象编程的基本成分。面向对象方法(Object-OrientedMethod)是把面向对象的思想应用于软件的开发中。在面向对象中,和对象有直接关系的就是类。类是对象的一个抽象的概念,对象则是类的一个实例化。什么是类?类如何声明?答:从软件设计的角度来说,类就是一种数据结构,用于模拟现实中存在的对象和关系。C#中类的声明需要使用class关键字,并把类的主体放在花括号中,格式如下:[class-modifiers]classclass-name{ //定义属性//定义方法}类的成员有哪几种?类的访问修饰符有哪些?答:从类的继承关系上讲,类的成员可以分为两大类:类本身声明的和从基类继承的。从类的访问角度上来讲,类的成员又可以分为四类:公有成员(public)、私有成员(private)、保护成员(protected)及内部成员(intenal)。当类成员声明不包含访问修饰符时,缺省约定访问修饰符为private。这也是类的访问修饰符。什么是成员变量(域)?它的访问修饰符有几种。答:成员变量是指描述对象状态的数据,是类中很重要的组成成分。它定义在类里面,并和方法处于同一层次。它的访问修饰符主要有四个:public、private、protected、intenal。构造函数和析构函数的作用主要是什么?答:构造函数主要的作用是执行类的实例的初始化。析构函数主要的作用就是回收系统占用的资源。如何在C#中实现抽象类和抽象方法?答:(1)在C#中,使用关键字abstract来定义抽象方法,格式如下:publicabstractvoidTrain();(2)子类继承抽象父类之后,可以使用override关键字覆盖父类中的抽象方法,并做具体的实现,格式如下:publicoverridevoidTrain(){…//相应的代码}接口是如何声明的?答:接口是一个引用类型,通过接口可以实现多重继承。定义一个接口使用interface进行声明,定义相关的方法、属性和事件。C#中接口可有new、public、protected、internal、private等修饰符。接口和抽象类的两个主要区别是什么?答:接口和抽象类的两个主要区别是:①类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类叫做抽象类。而接口是一个行为的规范或规定。②一个类一次可以实现若干个接口,但是只能扩展一个父类。什么是方法?理解方法的方法声明语法形式。答:方法属于类的成员之一,用于执行计算或者其他的行为。它是按照一定格式组织的一段程序代码,在类中用方法声明的方式来定义。方法声明语法形式:[方法修饰符]opt返回类型方法名([形参表]opt){ 方法体}10.理解方法的重载和覆盖。答:C#中,重载是指允许存在多个同名函数,而这些函数的参数不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。方法的覆盖,有时继承的基类成员不能很好地满足派生类的功能,需奥重新定义。此时就需要使用new关键字来总写街垒的成员,从而覆盖继承过来的属性或者方法(需要注意的是,派生类的定义,不会影响基类)。面向对象的3个主要特征是什么?答:面向对象的主要特征有3个:多态性、继承性和封装性。在面向对象编程中,多态是指同一个消息或操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。如:.print();.open();.close()等等。继承的本质是代码重用。当要构造一个新的类时,通常无需从零开始。所谓“封装”,就是把数据和代码组合在一起,形成一个对象。将类进行了封装,对外提供可访问的属性和方法。外部对象必须通过这些属性和方法访问此对象的信息。12.什么是多态?举例说明。答:在面向对象编程中,多态是指同一个消息或操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。如:.print();.open();.close()等等。13.理解动态多态和静态多态。答:在面向对象编程中,多态性有两种,一种是静态多态,一种是动态多态。当在同一个类中,直接调用一个对象的方法时候,系统在编译时,根据传递的参数个数、参数类型以及返回值的类型等信息决定实现何种操作,这就是所谓的静态绑定。当在一个有着继承关系的类层次结构中,间接调用一个对象的方法时候,调用经过基类的操作,这就是所谓的动态绑定。(1)静态多态,重载。方法参数类型或个数不同,方法名相同。如:publicvoidF(inta){…..}publicvoidF(){…}

//这两个方法构成重载。(2)动态多态,虚拟。如:classA{publicvirtualF(){…..}}classB:A{publicovverrideF(){}//重写父类方法}14.编写一个控制台应用程序,完成下列功能,并回答提出的问题。1)创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。从A继承一个名为C的新类,并在C内创建一个成员B。不要为C创建构造函数。3)在Main方法中创建类C的一个对象,写出运行程序后输出的结果。答:举例程序:运行结果:15.设计一个Retangle类,提供通过length和width字段计算面积和周长的2个方法。并用main方法来测试程序。运行结果:(以长为10,宽为7举例。)16.设计一个Teacher类,包括:3个私有字段Name、TeacherID、Address,以及供外部访问这三个私有字段的对应方法getName、setName、getTeacherID、setTeacherID、getAddress、setAddress。同时,Teacher类还有一个能按查询条件字符串(qryString)查询老师授课课程的方法queryCourse,queryCourse返回字符串类型的课程名称。要求编写Teacher类的定义代码。答:举例说明classTeacher{privatestringname;privatestringteacherID;privatestringaddress;publicstringgetName{get{returnname;}}publicstringsetName{set{name=value;}}publicstringgetTeacherID{get{returnteacherID;}}publicstringsetTeacherID{set{teacherID=value;}}publicstringgetAddress{get{returnaddress;}}publicstringsetAddress{set{address=value;}}publicstringqueryCourse(stringqryString)//有疑问……{Stringcourse=null;//...根据qryString去数据库匹配查询问//Coursename=rs.getreturnCoursename;}}第4章什么是窗体应用程序?答:在C#的开发环境中,Windows窗体是一个可以用来为用户提供信息以及接收其输入的窗口,可以是一个标准的窗口、多文档界面(MDI)窗口、对话框或图形程序的显示界面。窗体应用程序有哪些特性?答:①可视化继承②精确的窗体设计③丰富控件的容器④功能强大的图形功能⑤更低的开发成本用C#开发应用程序一般包括哪些流程?答:用VisualStudio2010开发窗体应用程序,一般包括建立项目、界面设计、属性定义、代码设计、保存项目、程序运行与调试、程序部署等流程。窗体有哪3种样式?它有哪些基本属性及常用属性?理解其含义。答:窗体常有的三种样式为:单文档界面(SDI)、多文档界面(MSI)、资源管理其样式界面。Windows窗体的基本属性有:①名称属性。Windows窗体的名称属性是Name,其值主要用于在程序代码中引用窗体。②标题属性。Windows窗体的标题属性是Text,该属性用于设置窗体标题栏显示的内容,其值是一个字符串。③控制菜单属性。Windows窗体的控制菜单属性是MainMenuStripWindows,用于选择窗体中对应的MenuStrip组件,已应用程序一般都会有控制菜单,以方便用户操作。④控制窗体外观的属性。Windows窗体的控制外观的属性包括位置、大小、字体、图标等类的属性定义。在.NET框架的VisualStudio2010开发环境中,窗体的常用属性包括:①Visible属性:Windows应用程序的主窗体在应用程序启动时是否可见。②TopMost属性:TopMost属性控制窗体是否为最顶端的窗体。③FormBorderStyle属性:确定Windows窗体的外观。④Location属性:指定窗体在计算机屏幕上的显示位置。常用的Windows窗体控件有哪些?掌握其主要的属性、事件和方法。答:常用的Windows窗体控件:参见表4-3。控件常见的属性:参见表4-4。控件常见的事件:参见表4-5。一个窗体菜单包括哪些部分?如何在一个窗体中定义它们?答:一个窗体菜单主要包括:MenuStrip控件、ToolStrip控件、StatusStrip控件、ContextMenuStrip控件、ToolStripContainer控件。其各控件的具体用法参见本章4.4小节的内容。如何创建一个MDI窗口?如何编写子窗体的排列方式?答:将MenuStrip组件从“工具箱”拖到窗体上,创建一个Text属性为“文件(&F)”的顶级菜单项,且带有“新建(&N)”和“关闭(&C)”的子菜单项,再创建名为“窗口(&W)”、“帮助(H)”、“MDI子窗体的菜单”的顶级菜单项。其中,“文件”菜单将在运行时创建并隐藏菜单项,而“窗口”菜单将跟踪打开MDI子窗口,即创建了一个MDI父窗口。在MDI窗体中,父窗体中打开若干个子窗体时需要对这些子窗体进行排列。应用程序通常包含对打开的MDI子窗体进行排列的菜单命令,如“平铺”、“层叠”和“排列”等。可以使用LayoutMdi方法和MdiLayout枚举来重新排列MDI父窗体中的子窗体。如何在窗体中使用对话框的各种组件?答:在窗体工具箱中,与对话框相关的主要组件有:ColorDialog:提供了一种简单的方法方便应用程序获取颜色对象;FolderBrowserDialog:用来选择目录或者创建新目录。使用了ShowDialog方法来显示FolderBrowserDialog。FontDialog:用来显示常用的字体。OpenFileDialog:使用户能够浏览和打开文件。SaveFileDialog:使得用户可以存储文件。各控件的使用方法参见本章4.6小节的内容。设计一个Windows应用程序,窗体上有一个TextBox控件、一个Button控件。要求每当用户单击按钮时,文本框都会增加一行文字来反映单击按钮事件的次数,例如“共计触发了5次单击事件”。答:运行结果:自行编写一个简易的计算器。要求:可以实现由0~5构成的整数的加减运算。答:代码:namespace_4_10Calculator{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidback_Click(objectsender,EventArgse){result.Text="";}privatevoidcal_Click(objectsender,EventArgse){Singler;stringt=result.Text;intspace=t.IndexOf('');strings1=t.Substring(0,space);charop=Convert.ToChar(t.Substring(space+1,1));strings2=t.Substring(space+3);Singler1=Convert.ToSingle(s1);Singler2=Convert.ToSingle(s2);switch(op){case'+':r=r1+r2;break;case'-':r=r1-r2;break;default:thrownewApplicationException();}result.Text=r.ToString();}privatevoidbutton0_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+btn.Text;}privatevoidbutton1_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+btn.Text;}privatevoidbutton2_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+btn.Text;}privatevoidbutton3_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+btn.Text;}privatevoidbutton4_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+btn.Text;}privatevoidbutton5_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+btn.Text;}privatevoidadd_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+''+btn.Text+'';}privatevoidsubtract_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;result.Text=result.Text+''+btn.Text+'';}}}运行结果:第5章1、B/S架构的Web应用的优点是什么? 答:B/S架构的Web应用的优点是: (1)客户端只需安装浏览器,而不需要安装特别的软件。核心部分都集中在服务器端,实现“胖”服务器、“瘦”客户机的思想。(2)版本更新时不需要在客户端安装和部署新系统,易于维护。(3)统一的语言体系(HTML、XML等),客户端以不同的方式操作同一数据库,实现信息的统一。(4)基于WebService的跨平台应用,Ajax技术使客户端可以处理部分程序,实现网页动态更新,减轻服务器端的负担。2、ASP.NET应用程序由哪两大部分构成? 答:ASP.NET应用程序由界面和程序代码两大部分构成。界面部分:主要由HTML标记和控件标记构成,从<html>标记开始,至</html>结束。主要用于定义页面的外观显示特性和应用程序所包含的控件标识。程序代码部分:由脚本程序标记<ScriptLanguage=“高级语言名称”Runat=“Server”>和</Script>将程序包含起来。程序代码的作用主要是进行窗体和控件事件的处理。3、ASP.NET应用程序的文件类型有哪些?答:一个标准的ASP.NET应用程序由多个文件组成,包括Web页面、HTTP处理模块以及可执行的代码、配置文件和数据库文件等。ASP.NET应用程序可能包括如下类型的一个或多个文件:(1)aspx文件:标准的Web页面文件,包含用户界面和代码文件(.cs或.vb)。(2)ascx文件:ASP.NET用户控件。用户控件与Web页面类似,但是用户不能直接访问这些文件,必须将用户控件宿主到Web页面。用户界面最大的优势是可重用,简化在一个Web页面上过多的UI元素和代码块。(3)asmx文件:ASP.NETWeb服务文件,Web服务提供一系列方法来供其他应用程序进行远程调用。Web服务与Web页面类似的是,也共享同一应用程序域的资源配置和设置等。(4)Web.config文件:这是一个基于XML的ASP.NET配置文件,在这个文件中可以包含很多ASP.NET相关的设置信息,如数据库连接、安全设置、状态管理、内存管理等。(5)Global.asax文件:全局应用程序文件,可以用来定义在整个应用程序范围可用的全局变量,响应全局事件。(6)cs文件:代码后置文件,允许开发人员分离用户界面与代码逻辑。4、Web.config配置文件的3个配置节分别是什么? 答:Web.config配置文件中常用的3个配置节为:(1)<appSetting>配置节,允许开发人员添加多种自定义的信息块,如应用程序的标题、程序作者等。(2)<connectionString>配置节,允许开发人员定义连接数据库的连接信息。(3)<system.web>配置节,保存用户将配置的每个ASP.NET配置,如用户访问授权机制,可以有多个<system.web>配置块。5、页面回发在什么情况下发生? 答:大多数ASP.NET服务器控件具有一个AutoPostBack属性,当将该属性设置为True时,会对该控件触发的事件产生页面回发行为。6、页面重定向的两种方式是如何实现的? 答:(1)Response类提供了一个Redirect方法,该方法可以将页面重定向到另一个页面。 (2)使用Page类进行页面的重定向操作。7、常用的应用程序事件有哪些? 答:参见本章表5-1。8、什么是CSS?为页面添加CSS样式有哪3种不同的方法? 答:CSS(cascadingstylesheet,层叠样式表)是一种标记语言,用于描述如何格式化和显示网页的信息。 在实际开发中有3种不同的方法为页面添加CSS样式,分别是外部样式、内嵌样式和行内样式。9、主题和CSS的最主要区别是什么? 答:主题与CSS的区别是:CSS用于控制HTML格式的呈现,而主题可以控制ASP.NET服务器控件的很多属性,一些属性可能会产生不一样的HTML输出。10、母版页的作用是什么?它能否直接被浏览? 答:使用母版页可以简化维护、扩展和修改网站的过程,并能提供一致、统一的外观。母版页的扩展名为.master,它不能被浏览器直接查看,必须在被其他页面使用后才能显示。第6章HTML服务器控件在哪个命名空间中?它分哪两个基类?答:HTML服务器控件在System.Web.UI.HtmlControls命名空间中,在该命名空间中,包含大约二十多个HTML控件类,根据类型可以分为HTML输入控件(HtmlInputControl)和HTML容器控件(HtmlContainerControl)两个基类。如何在HTML控件中添加服务器端运行事件?答:HTML控件中通过提供事件的两个HTML服务器控件来添加服务器端运行事件。事件名称提供事件的HTML服务器控件ServerClickHtmlAnchor、HtmlButton、HtmlInputButton、HtmlInputImage、HtmlInputResetServerChangeHtmlInputText、HtmlInputCheckBox、HtmlInputRadioButton、HtmlInputHidden、HtmlSelect、HtmlTextArea并参看【例6-3】。如何动态创建一个HtmlTable对象实例?答:参看【例6-2】。基本的Web服务器控件有哪些?答:参见本章【表6-6】。常用的列表控件有哪些?它们又可以分为哪两类?答:常用的列表控件参见【表6-7】。它们基本分为两大类:可选择的列表控件和BulletedList列表控件。ASP.NET3.5的5种类型的验证控件分别是什么?如何使用?答:ASP.NET3.5提供了5种类型的验证控件,其中的四个用于对指定类型的错误进行验证,还有一个可以提供自定义验证,下表提供了对这五种列表控件的说明。控件名称控件说明RequiredFieldValidator判断输入控件中是否包含一个字符串。RangeValidator验证输入框中的值是否在一个指定的范围之内。CompareValidator验证输入框中的值是否匹配在其他输入框中的值,或者是由用户指定的一个固定的值。RegularExpressionValidator验证输入控件中的值是否匹配一个正则表达式。CustomValidator自定义的验证控件。如何使用ValidationGroup属性?答:ValidationGroup是一个非常有用的的属性,当页面上有多个验证控件时,可以将验证控件进行逻辑分组,这样将不会发生验证冲突。对于很多复杂的页面来说,在同一页面可能有多个区分开来的控件组,比如页面上放置了多个Panel控件,每个Panel上面放置了一个TextBox控件和一个Button控件,如果希望点击某个Panel中的Button控件时,只对属于该Panel的TextBox执行验证的话,就可以使用一个称为验证组(ValidationGroup)的属性。 使用方法参见【例6-6】。Calendar日期控件的作用是什么?它提供了哪些样式属性?答:Calendar控件主要用于完成以下两个方面的功能:(1)显示和选择日期。(2)在日历网格中显示约会或其他信息。表6-12列出了Calendar控件提供的样式属性。表6-12Calendar控件样式属性属性名称属性说明DayHeaderStyle用于设置Calendar的标题栏,也就是星期栏。DayStyle指定当前月的日期显示样式。NextPreStyle在标题栏的导航控件的样式,用于移到上一月或者是下一月。OtherMonthDayStyle在Calendar控件中可以同时显示多个月的日期,使用这个属性设置其他月的样式。SelectedDayStyle在Calendar控件中选中的日期样式。SelectorStyle周或月日期选择控件的样式。TitleStyle标题选择项的样式。TodayDayStyle当前日期选择项样式。WeekendDayStyle周末项的样式。MultiView控件的作用是什么?答:用MultiView控件可以在一个Form中可以布局多个视图,用户单击切换按钮就可以切换到不同的视图。因此,MultiView控件可以让开发人员定义多个视图,在同一时刻只显示其中一个。ASP.NET内置对象主要包括哪些?答:ASP.NET内置对象主要包括:Page对象、Response对象、Request对象、Application对象、Sever对象、Cookie对象、Session对象。什么是Page对象?它有哪些主要的事件?答:Page对象其实就是C#中Web应用程序的aspx文件,它又称为窗体面。它有许多常用的属性,例如:IsPostBack、IsValid等,有几个很重要的事件,例如:Init、Load、Unload等。Page_Init:用于初始化所有值或程序。Page_Load:页面加载事件。Page_Unload:完成页面呈现或者加载之后,将激发Page_Unload事件。Page_Error:如果在页面处理过程中出现一些错误,就会激发Error事件。并且这些错误事件提供了处理的方法。其中,Page_Init事件和Page_Load事件不同的是:Page_Init事件是完成初始化工作,而Page_Load事件是在初始化的基础上进行加载内容。Request.Form()和Request.QueryString()分别如何使用?答:Request.Form()方法用于读取提交过来表单的元素值.如该表单中的textbox值 Request.QueryString()用于读取通过URL传递过来的参数值.如?a=1&b=1Cookie对象有何作用?答:Cookie提供了一种在Web应用程序中存储用户特定信息(如历史记录或用户首选项)的方法。Cookie是一小段文本信息,随着请求和响应在Web服务器和客户端之间传递。Cookie包含每次用户访问站点时Web应用程序都可以读取的信息,这种技术将在客户端硬盘上创建一些文件来存放用户信息,这些文件一般存储在Internet临时文件夹中。如何通过内置对象获取服务器名、主机名和主机IP?答:利用内置对象,客户端的基本信息,例如浏览器类型、浏览器版本号、用户所用的语言以及编码方式等请求信息包装在Request对象中,可以使用Request对象来读取浏览器已经发送的内容。客户端浏览器版本信息:<%=Request.UserAgent%>客户端IP地址:<%=Request.UserHostAddress%>客户端机器的DNS名称:<%=Request.UserHostName%>当前文件服务端物理路径:<%=Request.PhysicalApplicationPath%>实例参见【例6-11】。第7章用于文件操作的类有哪些?答:用于文件操作的类主要的有:File:用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream对象。Driectory:用于创建、复制、删除、移动和打开目录的静态方法。Path:对包含文件或目录路径信息的String执行操作。FileInfo:提供创建、复制、删除、移动和打开文件的实例方法并帮助创建FileSystem对象。DirectoryInfo:提供创建、移动和枚举目录和子目录的实例方法。FileSystem:指向文件的流,支持对文件的读写,支持随即访问文件。StreamReader:从流中读取字符数据。StreamWriter:向流中写字符数据。FileSystemWatcher:用于监控文件和目录的变化。什么静态方法和实例方法?文件类和目录类中,哪些是动态方法?哪些是实例方法?答:实例方法,就是对象的方法,静态方法,是类的方法。实例方法不能直接调用,需要实例化类产生一个对象以后,掉用这个类下面的实例方法。静态方法不属于任何一个对象,它直属于类的方法,静态方法不能调用非静态的方法,因为这时的实例方法还没有分配地址。是空值。但是其他方法可以任意调用静态方法。.NET中使用File类封装文件的操作,并且所有方法都是静态方法。可以通过类名来调用它们,不必创建对象实例。目录使用Directory类,通过目录类可以创建、移动目录,并可以列举目录和子目录的内容。Directory类中的方法全部是静态的方法。DirectoryInfo类的属性和方法前必须要创建它的对象实例,创建时需要指定该实例所对应的目录,方法全部属于实例方法。File类和Directory类常用的方法分别有哪些?答:File类:参见表7-1。Directory类:参见表7-2。如何创建一个文件夹?如何使用Path.Combine方法?答:Combine 用来合并两个路径的字符串。 示例:stringnewPath=Path.Combine("c:\\","mydir");创建文件的3种方法是什么?答:可以通过File、Fileinfo和FileStream创建文件。①File提供操作文件的相关静态方法,其中包含了创建、移动、复制、删除以及打开指定的文件,这个类允许直接使用File类调用相关的方法操作文件。②Fileinfo提供实例方法成员,用以操作文件,其功能与File相同,其中的差异在于必须产生实例对象调用指定的方法成员。③FileStream用以读写文件系统上的数据。第8章什么是线程?答:线程是程序中一个单一的顺序控制流程。他是一个独立进程中不同的执行任务,进程有独立的内存地址,而线程没有。什么是线程同步?在C#中是如何处理的?答:所谓同步,是指在某一时刻只有一个线程可以访问变量。如果不能确保对变量的访问是同步的,就可能会产生错误或不可预料的结果。在C#处理同步时,通过对指定对象的加锁和解锁可以同步代码段的访问。在.NET的System.Threading命名空间中提供了Monitor类来实现加锁与解锁。这个类中的方法都是静态的,所以不需要实例化这个类。同步线程时应注意什么问题?答:(1)在对象上放置和解开锁会带来某些系统开销。(2)同步线程时使用了太多的线程。(3)在两个线程都需要访问被互锁的资源时发生死锁。第9章ADO.NET有哪些主要特点?答:①ADO.NET不依赖于连续的活动连接。②使用数据命令执行数据库交互。③使用数据集(Dataset)缓存数据。④数据集独立于数据源。⑤数据保持为XML。⑥通过架构定义数据结构。ADO对象模型中的主要对象有哪些?答:①onnection对象。 ②DataAdapter对象。 ③Command对象。 ④DataReader对象。 ⑤DataSet对象。//原文序号有错。 说明:其各对象的具体含义和用法参见本章9.1.2小节。ADO.NET主要有哪几种数据库访问方式?答:ADO.NET在Windows平台下主要有4种数据库访问方式:OLEDB模式、ODBC模式、SQLClient模式和Oracle数据库模式。如何使用Connection连接字符串?答:Connection对象最重要的属性是连接字符串ConnectionString,该属性用于提供登录数据库和指向特定数据库所需的信息。典型的ConnectionString属性可能如下所示:Provider=SQLOLEDB;DataSource=MySQLServer;InitialCatalog=MyDB;IntegratedSecurity=SSPI;DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwind.mdf;IntegratedSecurity=True;UserInstance=True(一个Web应用程序使用)如何使用Command对象与DataReader对象进行数据库操作?答:使用Command对象来执行数据库SQL命令,用于连接数据库的连接,对数据库进行查询、添加、删除和修改等各种操作时使用。操作实现的方式可以使用SQL语句,也可以使用存储过程。 使用DataReader对象用于检索数据库中的数据,并将结果集返回。DataReader对象不能直接实例化,而必须通过Command对象的ExecuteReader方法来生成。DataReader最主要的方法是Read方法,用来检索行,然后用数组访问语法来访问行中的字段。在DataReader遍历记录时,数据连接必须保持打开状态,直到DataReader对象被关闭为止。Command对象执行数据命令的相关方法分别是什么?答:参见本章表9-1。SqlDataSource控件、GridView控件、FormView控件、DetailsView控件的作用是什么?有何异同? 答:SqlDataSource控件的作用是: (1)通过使用SqlDataSource控件,可以在页面上使用配置向导的方式访问数据库。(2)SqlDataSource控件通过使用ADO.NET类实现与ADO.NET支持的任何数据库进行交互。GridView控件的作用是:(1)和数据源控件配合使用,让开发者可以在不编写任何代码前提下实现对数据的访问和操作。(2)在底层数据源支持的前提下,GridView控件可以快速实现数据分页与排序功能,无须开发者编写程序代码。FormView控件的作用是:用于显示数据源中的单个记录。DetailsView控件的作用是:它一种查看数据的方式,一次显示一条记录,允许编辑、删除和插入记录。 以上四个控件的相同点在于:全部均为数据控件,配合使用以实现数据库前台的调用和不同样式的显示。不同点在于:SqlDataSource控件主要用于连接数据库,把数据库中的数据连接到前台进行显示。GridView控件以表的形式显示数据,并提供对列进行排序、分页、翻阅数据以及编辑或删除单个记录的功能。FormView控件一次呈现数据源中的一条记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。DetailsView控件与FormView控件相似。但是,DetailsView控件使用基于表格的布局,在这种布局中,数据记录的每个字段都显示为控件中的一行。而FormView控件则不指定用于显示记录的预定义布局。什么是XML?它与HTML的最主要区别是什么?答:XML是extensibleMarkupLanguage的缩写,在计算机专业的术语中,简称扩展标记语言。这是一种数据描述格式的标记语言。XML采用简单的文本结构存储数据,使用一系列简单的标记描述数据,这些标记都可以自定义,并且个数不限。XML与HTML的区别:XML就像HTML语言一样,可以使用标签。例如用括在尖括号中的标识符来标识数据。这些标签都叫做标记(markup)。XML与HTML语言不同的是,XML标签可用于标识数据,而不只是规定数据的显示格式。对于HTML语言标签中,形如“用粗体显示数据”的地方,例如:<b>粗体</b>。XML标签则表现为程序中的一个字段名,它为一个数据定义一个标签(label)来表示该数据。例如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论