.net期末考试复习资料终极必杀版x_第1页
.net期末考试复习资料终极必杀版x_第2页
.net期末考试复习资料终极必杀版x_第3页
.net期末考试复习资料终极必杀版x_第4页
.net期末考试复习资料终极必杀版x_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

简答题1、 用实例简述委托的过程。声明委托除了指定返回值外还必须指定一个方法签名。实例化委托,需要引用该方法。该方法必须与委托具有相同的方法签名,并且该方法必须返回委托声明中定义的值。调用委托时,委托调用与之关联的方法。当引用的方法向委托返回值时,委托会将该值传递给调用程序,就如同该值是委托自身的返回值一样。2、 什么是Windows 窗体应用程序?Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,它使您可以开发丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。3、 什么是ASP.NET Web 应用程序?ASP.NET 允许开发人员创建浏览器可访问的应用程序。 ASP.NET在System.Web命名空间中实现,它是.NET Framework的重要组成部分。作为相当流行的 Active Server Page(ASP)技术的后继者,ASP.NET应用程序是从一页或多页构建的。每个页面都包含 和标签以及可执行代码,并且通常带有.aspx 扩展名。4、 列出.NET Framework的常用组件。公共语言运行库(CLR)、.NET Framework类库、数据和XML、XML Web service、Web窗体和Windows窗体。5、 应用程序可以使用什么类和方法来对控制台进行输入和输出?在公共语言运行库中,你可以使用System命名空间中的Console类的Read、ReadLine、Write和WriteLine等方法,实现向控制台输入输出字符串或数值 。6、 什么时候使用隐式转换,什么时候使用显式转换?使用隐式转换可以提高可读性和可使用性。当转换可能引起数据丢失或者抛出异常时使用显式转换。7、 值类型和引用类型的区别是什么?值类型被分配在栈中,使用拷贝赋值(assigned as copies),按值传递。引用型被分配在堆中,作为引用赋值(assigned as references),按引用传递。8、 什么是命名空间,.NET Framework中类型的根命名空间名称是什么?一台计算机要在本地运行一个.NET 应用程序时,需要什么软件?命名空间是执行相关功能的类型(如类和接口)的逻辑组织单位。9、 程序集清单包含哪些内容.程序集的名称。程序集的版本号。程序集的区域性,指示程序集所支持的文化或语言。 此程序集中所包含的所有文件的列表,同时附有根据这些文件计算出的哈希值。 此程序集所依赖的其他程序集,以及这些依赖程序集每一个的版本号。10、即时 (JIT) 编译是指?每个方法在首次被调用时被编译11、构成逻辑功能单元的文件分组称为什么?程序集12、元数据包含哪些内容?类型名称。类型可见性,可以是公共的或程序集。此类型继承自哪个类型(如果存在)。该类型所实现的任何接口。该类型所实现的任何方法。该类型所公开的任何属性。该类型提供的任何事件13、元数据是什么?描述对应托管代码中定义的类型的信息14、基于 CLR 的语言编写的源代码在编译时,将生成哪两种内容? Microsoft中间语言(MSIL)表示的指令。元数据(Metadata)15、.NET Framework使用中间代码的好处是?可移植性强。中间代码在加载到内存中时将受到针对类型安全性的检验。这实现了更好的安全性和更高的可靠性16、谈谈你对泛型的理解,并说明他的优点。通过泛型可以定义类型安全类,而不会损坏类型安全、性能和工作效率。具体可由以下几个优势:(1)可重用性:可使用相同的代码对多个场景使用一个泛型类型定义,而不需要对代码进行任何更改。(2)类型安全:泛型数据类型提供更好的类型安全性,降低发生类型强制转换错误的可能性。(3)性能:泛型类型降低了对变量或对象进行装箱、取消装箱和类型强制转换的需要,因此他的性能优于普通系统类型17、分别列举几个值类型和引用类型,并谈谈两者的区别。值类型:内置值类型、用户自定义结构和枚举。引用类型:自描述类型(类和数组)、指针类型或接口类型。两者区别:值类型直接包含它们的数据,继承自System.ValueType类型,而引用类型存储对值的内存地址的引用,继承自System.Object类型;值类型分配在堆栈上,通过拷贝赋值,通过值来传递参数,它的实例实例要么在堆栈上,要么内联在结构中,而引用类型通过引用赋值,以引用传递参数,用 New 关键字在托管堆上分配对象18列举几个常见的.NET Framework应用程序种类并说明特点。ASP.NET Web, Windows窗体应用程序,ADO.NET, 分布式应用程序等19、说明.NET Framework类库采用命名空间树的结构的目的,并举例.NET Framework类库的命名空间及其成员说明使系统类库内容层次清晰,避免类名的冲突;方便类名的查找和使用System 命名空间是 .NET Framework中基本类型的根命名空间,System 命名空间下包含异常处理、垃圾收集、IO、数据处理、文本处理等类库等。20、简述.NET Framework的体系结构并说明各部分作用。用户界面:.NET 支持三种类型的用户界面(Web 窗体、Window 窗体和控制台)。Web 服务:.NET Framework提供了类库和工具支持。ASP.NET:建立在 CLR 上的新型 Web 编程模型,Web 窗体提供了强大的动态用户界面编程支持。ADO.NET:下一代 ADO 数据访问组件,提供了丰富的 XML 支持.NET Framework类库:扩展了运行时的功能,提供高层的服务支持,一致的编程接口简化了应用程序的开发。公共语言运行库:提供安全和强壮的执行环境,提供多线程支持,简化应用程序的部署和管理。应用程序服务:如 COM+ 服务、MSMQ、WMI、IIS 等,Windows2000 以上操作系统中.NET Framework类库提供了相应的支持。操作系统底层:.NET Framework必须运行在操作系统上,如Win32、WinCE、PocketPC 等操作系统21、什么是.NET Framework。.NET Framework是用于代码编译和执行的集成托管环境。程序设计C#中使用 DESCryptoServiceProvider类 进行加密和解密,请写出代码public static void Main(String args)/加密string myID = 435-86-0985-021;DESCryptoServiceProvider key = new DESCryptoServiceProvider();MemoryStream ms = new MemoryStream();CryptoStream encStream = new CryptoStream(ms, key.CreateEncryptor(),CryptoStreamMode.Write);StreamWriter sw = new StreamWriter(encStream);sw.WriteLine(myID);sw.Close();/获取加密后的字节byte buffer = ms.ToArray();/解密ms = new MemoryStream(buffer);encStream = new CryptoStream(ms, key.CreateDecryptor(), CryptoStreamMode.Read);StreamReader sr = new StreamReader(encStream);/输出解密后的内容Console.WriteLine(sr.ReadLine();key.Clear();sr.Close();访问您的硬盘,并输出硬盘上各驱动器的基本信息驱动器盘符、驱动器类型和驱动器上的可用容量。DriveInfo drives = DriveInfo.GetDrives();Console.WriteLine(AVAILABLE FIXED NTFS DRIVES);Console.WriteLine(=);foreach (DriveInfo drive in drives)if (drive.DriveType = DriveType.Fixed & drive.DriveFormat = NTFS)Console.WriteLine(The drive named 0 has 1 bytes of free space available., drive.Name,drive.AvailableFreeSpace);输入一行字符,分别统计出其中英文字母、数字和其它字符的个数。class Programstatic void Main(string args)string str1 = Console.ReadLine();int l=0, n=0, other=0;for (int i = 1; i str1.Length; i+)if (str1i = A & str1i = a & str1i = 0 & str1i 0)mymail.Subject = txtSub.Text;elsemymail.Subject = 本邮件来自 + txtEmailName.Text;mymail.Body = txtcontent.Text;if (txtBcc.Text != )mymail.CC.Add(new MailAddress(txtBcc.Text);SmtpClient client = new SmtpClient();/获取SMTP服务器client.Host = txtSTMP.Text;/SMTP使用的端口-注意格式的转换client.Port = int.Parse(txtPort.Text);/使用邮箱登录名和密码的验证.if (txtPass.Text.Trim().Length0)client.Credentials = new NetworkCredential(txtEmailName.Text, txtPass.Text);elseclient.Credentials = new NetworkCredential();/发送tryclient.Send(mymail);MessageBox.Show(Email successfully send.);catch (Exception ex)MessageBox.Show(Send Email Failed. + ex.ToString();编写一个绘制直线的程序,定义了一种枚举类型LineStyle,它所包含的枚举成员是绘制实心线、圆点线和点划线型;再定义一个方法,public void DrawLine(int x1, int y1, int x2, int y2, LineStyle lineStyle),在主程序中调用该方法,根据实参中所给的线型输出要画的线型的信息。using system;public class Drawpublic emun LineStyle /定义枚举类型Solid,Dotted,DotDash,public void DrawLine(int x1, int y1, int x2, int y2, LineStyle lineStyle)(1分)switch (lineStyle)(8分)case LineStyle.Solid: /用枚举名访问枚举成员Console.WriteLine(“画实心线”);/draw solidbreak;case LineStyle.Dotted: /用枚举名访问枚举成员Console.WriteLine(“画圆点线”);/draw dottedbreak;case LineStyle.DotDash: /用枚举名访问枚举成员Console.WriteLine(“画点划线”);/draw dotdashbreak;default:Console.WriteLine(“您选择了一种无效的线型”);break;class Test(4分)public static void Main()Draw draw = new Draw();Draw.Drawline(1, 1, 5, 5, Draw.LineStyle.Solid);Draw.Drawline(2, 3, 5, 6, (Draw.LineStyle) 1);Draw.Drawline(9, 9, 100, 20, (Draw.LineStyle) 2);Draw.Drawline(5, 6, 7, 8, (Draw.LineStyle) 3);有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?class Programstatic void Main(string args)int i,j, h;int s, t = 0;for (i=1;i=4;i+)for(j=1;j=4;j+)for(h=1;h=4;h+)if(i!=j & j!=h & i!=h)t+;Console.WriteLine(t);求1+2!+3!+.+20!的和。class Programstatic void Main(string args)long t=1, sum=0;for (int i = 1; i = 20; i+)t = t * i;sum = sum + t;Console.WriteLine(sum=0,sum);如下图是WINDOWS程序,单击“浏览按钮后”把C盘中所有文件夹和文件显示在列表框中,请写出代码。private void button1_Click(object sender, EventArgs e)string files;string dirs;listBox1.Items.Clear();string dirName=c:;if (Directory.Exists(dirName)files = Directory.GetFiles(dirName);for (int i = 0; i files.Length; i+)listBox1.Items.Add(filesi);dirs = Directory.GetDirectories(dirName);for (int i = 0; i dirs.Length; i+)listBox1.Items.Add(dirsi);程序填空题1、下面代码段是经常在数据库中访问中时对参数进行赋值时使用集合的一种方式,请补全下面代码。protected void Button1_Click(object sender, EventArgs e) (1 )list.Add(title, txtTitle.Text);list.Add(keyword, txtKeyword.Text);list.Add(description, txtDescription.Text);addNewsInfo(list)public bool addNewsInfo(Dictionary list)string commText = INSERT INTO NewsInfo(title,keyword, description VALUES(title,keyword,description );SqlParameter sqlpara = (2 )new SqlParameter(title,SqlDbType.VarChar),new SqlParameter(keyword,SqlDbType.VarChar),new SqlParameter(description,SqlDbType .VarChar)sqlpara0.Value = listtitle;sqlpara1.Value = listkeyword;sqlpara2.Value = listdescription; Dictionary list = new Dictionary(); new SqlParameter2、下面程序是在WEB应用程序开发中经常用到的一段代码,在更新完一条记录后,如果对这条记录的图片进行了更新,那么原来老的图片需要进行删除。请把代码补充完整。if (Filephoto.HasFile)path = Server.MapPath(/) + path;Filephoto.SaveAs(path);string path1 = Image1.ImageUrl.Substring(3);string imagesFile =(1)+ path1;FileInfo file =(2 )if (file.Exists)( 3 ) Server.MapPath(/)new FileInfo(imagesFile);file.Delete();3、下面的代码演示如何使用 GraphicsUnit 枚举,从 Icon 句柄加载位图,以及如何使用 Round 方法绘制位图的矩形边框。请填写完整:private void Button2_Click(System.Object sender, System.EventArgs e)Bitmap bitmap1 = Bitmap.FromHicon(SystemIcons.Hand.Handle);Graphics( )GraphicsUnit units = GraphicsUnit.Point;RectangleF bmpRectangleF = bitmap1.GetBounds(ref units);Rectangle bmpRectangle = Rectangle.Round(bmpRectangleF);formGraphics.DrawRectangle(Pens.Blue, bmpRectangle);formGraphics.Dispose(); formGraphics = this.CreateGraphics();4、窗体中将绘制出一个起点为(10, 10)、宽度为 200像素、高度为 100像素以及填充色为红色的矩形。请补全下面代码。private void form1_Paint(object sender, PaintEventArgs e) Graphics g = this.CreateGraphics();(1) myBrush = (SolidBrush)Brushes.Red;(2) SolidBrush myBrush;g.FillRectangle(myBrush, 10, 10, 200, 100);5、下面的代码演示了如何在C#中使用 Pen类。在此代码示例中,创建了一个指定Color属性、Width属性和 DashStyle属的 Pen对象 p 。然后使用窗体的 Graphics 对象和 p绘制了一条宽为5直线。请补全下面代码private void form1_Paint(object sender, PaintEventArgs e) (1) g = this.CreateGraphics(); Pen p = new Pen(Color.Red); p.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot; (2) g.DrawLine(p, 10, 10, 200, 10); p.Dispose(); Graphics g;p.Width = 2;6、下面的代码演示了如何在 VB和 C#中使用 TextureBrush类。private void form1_Paint(object sender, PaintEventArgs e) Graphics g;g = this.CreateGraphics();Image myImage = (1)TextureBrush myBrush;(2)myBrush.WrapMode = System.Drawing.Drawing2D.WrapMode.Tile;g.FillRectangle(myBrush, 10, 10, 400, 300);myBrush.Dispose(); Image.FromFile(c:logo.gif);myBrush = new TextureBrush(myImage);名词解释1、什么是委托委托是引用类型,这与类和接口相似。用户可以声明委托类型,定义委托类型的变量或者创建委托的实例。委托可以在运行时间接调用一个或多个方法。在声明委托类型或基于委托类型的变量时并不指定委托将要调用哪些方法,这一操作是在创建委托的实例时才进行的,并 且在运行时还可以将一个或多个方法与委托动态关联。委托的签名(包含参数和返回值的类 型)必须与其调用的方法的签名匹配2、什么是垃圾回收引用类型(如每个类、每个字符串等等)的每个实例都是在堆上分配的。 当应用程序运行时,分配到堆的内存将填满。 在可以创建新的实例之前,必须使更多空间可用。 使空间可用的过程称为垃圾回收,垃圾回收将释放未使用的对象。3、什么是程序集 完整的应用程序通常由多个不同的文件组成。 某些文件是包含代码的 DLL 或 EXE 模块,而其他文件可能包含各种资源,如图像文件。 在 .NET Framework 应用程序中,构成逻辑功能单元的文件分组称为程序集。4、什么是元数据 元数据描述的是对应托管代码中定义的类型的信息,它与编译对应类型生成的 MSIL 存储在同一个文件中 它存储的信息包括:类型名称。类型可见性,可以是公共的或程序。此类型继承自哪个类型(如果存在。该类型所实现的任何接口。该类型所实现的任何方法。该类型所公开的任何属性。该类型提供的任何事件。5、什么是泛型 泛型是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候才执行。通过泛型可以定义类型安全类,而不会损害类型安全、性能或工作效率。6、什么上是显式强制转换 在显式强制转换中,将宽数据类型转换为窄数据类型。例如,可以将 Double 类型的值转换为 Int32 类型。因此,显式强制转换也称为“收缩转换”。当要转换的值超过目标数据类型的范围时,该转换类型可能导致数据丢失。7、什么是隐式强制转换 隐式强制转换不要求在源代码中使用任何特殊语法。编译器自动执行隐式强制转换。隐式强制转换也称为“扩展转换”,因为要将窄数据类型转换为宽数据类型。这还将确保不会在转换过程中丢失数据。8、什么是引用类型引用类型是继承自Object,引用类型变量存储的是数据内存的地址,而实例则被分配在可以进行垃圾回收的堆中。由于一份数据可以被多个变量引用,使用这种变量类型能够起到节省内存资源的作用。但是数据只有一份,一个引用对数据进行的修改也会影响到其它的引用,因为它们都指向同一个数据源。引用类型的变量是可以为空的,那表示它不指向任何对象。相比之下,引用类型通常更为复杂。 Class、Interface、Array和String是引用类型。9、什么是值类型? 值类型继承自 ValueType 类,值类型的变量直接存储数据,实例是被分配在栈中的,并且永远不可能为空。这一类的类型包括 Byte、Char、各种长度的有符号和无符号整型、单精度和双精度浮点型、Decimal、Boolean 等等。10什么是命名空间? 命名空间是执行相关功能的类型的逻辑组织单位,.NET Framework 类库的内容组织为命名空间树,每个命名空间还可以包含其它命名空间。11、什么是.NET Framework 类库?.NET Framework 提供了一整套很有用且可重用的类型,这套类型是面向对象的且完全可扩展的,它简化了.NET Framework 应用程序的开发。.NET应用程序运行在公共语言运行库之上,并且它还可以使用类库中它所需要的任何部分。12、什么是公共语言运行库 公共语言运行库可视作管理代码执行的环境。它介于操作系统和应用程序之间,提供了代码编译、内存分配、线程管理以及垃圾回收之类的核心服务。它还强制实施了严格的类型安全性,并通过强制实施代码访问安全性来确保代码在安全的环境中执行。13、什么是托管环境仅使用 .NET Framework公共语言运行库提供的功能的代码称为托管代码, 托管代码通常是面向对象的,因此它所创建和使用的对象称为托管对象。一个托管对象可使用和继承另一个托管对象,即使两个对象是用不同的语言编写的。选择题1、 Graphics类表示一个绘制表面,你可以在其上绘制各种图形组件,如直线、矩形和文本,哪个方法绘制文本。C、DrawString()2、 Graphics类表示一个绘制表面,你可以在其上绘制各种图形组件,如直线、矩形和文本,哪个方法用于填充椭圆。A、FillEllipse()3、 Graphics类表示一个绘制表面,你可以在其上绘制各种图形组件,如直线、矩形和文本,哪个方法用于填充正方形。C、FillRectangle()4、 Graphics类表示一个绘制表面,你可以在其上绘制各种图形组件,如直线、矩形和文本,哪个方法用于画正方形。A、DrawRectangle()5、 Graphics类表示一个绘制表面,你可以在其上绘制各种图形组件,如直线、矩形和文本,哪个方法用于画线。C、DrawLine()6、 Graphics类表示一个绘制表面,你可以在其上绘制各种图形组件,如直线、矩形和文本,下面哪个方法是用于画圆。B、DrawEllipse()7、 在绘制表面上绘制图形的过程称为“绘画”,要进行绘画使用其他 GDI+对象(如 Brush和 Pen等),你必须创建一个类的对象才能使用。A、Graphics类8、 你使用.NET Framework创建了一个Windows应用程序。此应用程序要动画显示Gif文件。如果要更新帧,你应该使用下面的哪个方法? 选择一个最佳答案:B、ImageAnimator.UpdateFrames.9、 你使用.NET Framework创建了一个Web应用程序。它允许用户上传Word和Excel文件。下面哪个Icon类的方法能使你的应用程序显示Word和Execl的图标?选择一个最佳答案:B、Icon.ExtractAssociatedIcon10、你创建了一个显示各种大小的形状的应用程序,其中,这些形状将表示该组织中员工的投票结果。由于投票结果会更改,所以显示的形状也需要调整大小。此时,你将通过使用 Size结构执行下列哪些步骤来调整形状的大小?请选择所有不符合条件的答案。B、创建一个 SizeConverter 类对象并调用 FromString 方法。11、通过使用 .NET Framework ,你创建了一个 Windows 应用程序,你希望其中出现的图形具有阴影背景,并在图形区域的周围绘制了一个矩形以用作边框。如果要为图形提供一个阴影背景,则你应该怎么做? 选择一个最佳答案D、声明一个标识阴影

温馨提示

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

评论

0/150

提交评论