2022年C#面试题库 .pdf

上传人:C****o 文档编号:33385385 上传时间:2022-08-10 格式:PDF 页数:24 大小:285.73KB
返回 下载 相关 举报
2022年C#面试题库 .pdf_第1页
第1页 / 共24页
2022年C#面试题库 .pdf_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2022年C#面试题库 .pdf》由会员分享,可在线阅读,更多相关《2022年C#面试题库 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C#编程基础测试(60 分钟 ) 一、单选题、判断、填空1、 在 C# 中,下列关于程序的各种错误,说法错误的是( D ) (选择一项)A、只通过调试无法确保程序运行完全正常B、通过异常处理,可以捕获运行时错误C、逻辑错误编译时不能被发现,但是可以通过调试发现D、语法错误容易在运行时发现2、 在C#中,方法重载的主要方式有两种,包括( A )和参数个数不同的重载。A、参数类型不同的重载 B、返回值类型不同的重载C、方法名称不同的重载 D、参数名称不同的重载3、 关于以下 C#代码说法正确的是(A ) (选择一项)public class Physician public void operat

2、e(string name) Console.WriteLine(name); public void operate(int times) Console.WriteLine(times); public void operate(string name,int times) Console.WriteLine(name+times.ToString(); public void Operate(int times,string name) Console.WriteLine(times.ToString()+name); A、以上代码正确B、以上代码存在错误,因为存在两个参数个数相同且参数

3、类型相同的同名函数C、以上代码存在错误,因为存在两个参数个数相同的同名函数D、以上代码存在错误,因为存在两个参数类型相同的同名函数4、 下列程序的运行结果是( D )class MyMainTest static void Main(string args) Class1 c1= new Class1 (); c1. Dayin (); Class1 c2= new Class1 (); c2. Dayin (); Class Class1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -

4、 第 1 页,共 24 页 - - - - - - - - - static int a; int b; public void localprint() int c = 0; a+; b+; c+; Console.WriteLine(a=+a+ b= + b+ c= +c); public void Dayin() localprint(); localprint(); A、a=1 b=1 c=1 a=2 b=2 c=2 a=3 b=3 c=3 a=4 b=4 k=4 B、a=1 b=1 c=1 a=1 b=2 c=2 a=1 b=3 c=3 a=1 b=4 c=4 C、a=1 b=1 c

5、=1 a=2 b=2 c=1 a=3 b=3 c=1 a=4 b=4 c=1 D、a=1 b=1 c=1 a=2 b=2 c=1 a=3 b=1 c=1 a=4 b=2 c=1 5、 十进制数 15的十六进制数表示是( C )A 、 0 B、B C、 F D、H 6 、( D )是轻量级的,可以更快、更高效地只读、只进数据。A 、 DataAdapter B、DataSet C、DataCommand D 、DataReader 7、以下说法正确的是:不知道A 在.NET中,当引用类型的值为null 时,表明没有引用任何类型B 在.NET中,当引用类型的值为Empty时,表明没有引用任何类型C

6、 在.NET中,当引用类型的值为0时,表明没有引用任何类型D 在.NET中,当引用类型的值为Nothing 时,表明没有引用任何类型8、以下的 C#代码段: C public struct Student string Name; int Age; public static void Main() Hashtable h; Student s; A、h为引用类型的变量,s为值类型的变量B、h为值类型的变量,s为引用类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24

7、 页 - - - - - - - - - 的变量C、h、 s都是引用类型的变量D、h、s都是值类型的变量9、在 c#中, ( c )关键字用于子类得构造函数明确指明调用得父类的构造函数(选择一项)A、new B、this C、base D、is 10、ADO.NET 的两个主要组件是(不知道)A、DataAdapter 和DataSet B、Connection 和Command C、.NET数据提供程序和Command D、DataSet 和.NET数据提供程序11、阅读以下 C# 代码片断,在程序编译过程中,下面说法正确的是( B ) (选择一项)int val=100; object o

8、bj=val; int num =(int)obj; Console.WriteLine(“num:0 “,num);A、第 1 行执行装箱操作 B、第 2 行执行装箱操作C、第 2 行执行取消装箱操作 D、第 3 行执行装箱操作12、以下程序的输出结果是( B )class A public void F() Console.write(A); public void F(string Chr) Console.write(Chr); class B:A public void F() Console.write(B); static void Main() B objB=new B();

9、objB.F(); A、A B、B C、BA D、AB 13、在C#中,下列代码的运行结果是( C ) try int a = 10; int b = 0; int c = a / b; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - Console.WriteLine(c); catch Console.WriteLine(出现错误 ); finally Console.WriteLine(运行结束 ); A、0 B、 10

10、 C、出现错误 D、出现错误运行结束运行结束运行结束14 关于 C#程序的书写,下列不正确的说法是( D )A、区分大小写 B、一行可以写多条语句C、一条语句可以写成多行D、一个类中只能有一个Main() 方法,因此多个类中可以有多个Main()方法。15 在 C# 中,关于构造函数的说法正确的是(A ) 。 (选择一项)A、在一个类中允许有多个构造函数,构造函数在创建对象时调用B、在一个类中允许有多个不同名称的构造函数C、一个类至少声明有一个构造函数 D、一个类只能有一个构造函数16 定义类时使用(B)修饰符才可以正确运行以下代码?ClassA objA=new ClassA(); Clas

11、sA.M1(); A、public B、static C、private D、virtual 17 在 C#中,下列关于抽象类和接口的说法,正确的是( B ) (选择一项)A、在抽象类中,所有的方法都是抽象方法B、继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法C、在接口中,可以有方法实现,在抽象类中不能有方法实现D、一个类可以从多个接口继承,也可以从多个抽象类继承18、已知在 WinForms窗体中有一个 Timer 控件, Ineterval属性设置为 4分钟,当控件计时1分钟后,调用了控件的Stop 方法,再经过2分钟后,重新调用控件的Start 方法,则自该次调用 Start

12、 方法后,第一次触发控件的Tick 事件的时间间隔是( D )A、1分钟 B、 2 分钟 C、3分钟 D、4分钟 E、6分钟19、在C#中, 下列代码的运行结果是( B ) int nums=new int3,4,5,3,8; int index=Array.IndexOf(nums,3); Console.WriteLine(index); A、-1 B、0 C、1 D、3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - - - - - - 2

13、0、在C#中,下列代码的输出结果是( B ) class Test public enum WeekDays Mon,Tue,Wed,Thur,Fri,Sta,Sun static void Main() WeekDays week=(WeekDays)2; Console.WriteLine(week); A、2 B、Tue C、Wed D、编译错误21、在ADO.NET 中,为了执行一个存储过程,需要 Command 对象的 CommandType 属性设置为(不知道 A )A、CommandType.StoredProcedure B、CommandType.YableDirect C、

14、CommandType.Text D、CommandType.Sql 22、在 C#中,下列代码的运行结果是(C ) (选择一项)static void Main() int num=new int1,2,3,4,5; Array.Reverse(num); foreach(int i in num) Console.Write(i); A、0000 B、12345 C、 54321 D、不确定23、在C#中,一下命名属于帕斯卡命名规范的是(不晓得 C? )A、public class Ta B、public class teacher C、public class _Teacher D、pu

15、blic class Teacher 24、在C#中,下列代码运行后,变量Max的值是( A ) int i = 4, j = 6, k = 12, M= 0; M = i j ? i : j; M = k M ? k : M; A、0 B、6 C、4 D、12 25、在C#中,下面关于结构的说法错误的是( B )A、结构是值类型 B、结构不能被继承C、结构中可以有属性,也可以有方法 D、可以给结构添加无参的构造函数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页

16、 - - - - - - - - - 26、下面关于 XML 描述错误的是( B ?)A、XML 是可扩展标记性语言, 它主要用于描述数据B、XML 文件的节点不区分大小写C、XML 文件的节点是自由可扩展的D、XML 文件的节点都是成对出现的27、关于 base关键字,下列使用方法错误的是( C )A、在子类中,base关键字不可以访问父类的私有字段B、在子类中,base关键字不可以调用父类的私有方法C、在子类中,base 关键字不可以调用父类的构造函数D、在子类中,base关键字可以访问父类的属性28、在C#中为了防止用户没有保存操作的结果而无意关闭了窗体,通常可以( B )A、在窗体的

17、Closed 事件中添加代码:e.Cancel=true; B、在窗体的 Closed 事件中添加代码:e.Cancel=false; C、在窗体的 Closing 事件中添加代码:e.Cancel=true; D、在窗体的 Closing 事件中添加代码:e.Cancel=false; 29、如果将窗体的FormBoderStyle 设置为 None,则 ( A )。A、窗体没有边框并不能调整大小B、窗体没有边框但能调整大小;C、窗体有边框但不能调整大小;D、窗体是透明的;30、下关于 C#代码的说法正确的是(不清楚 B ) (选择一项)public delegate void SendMa

18、ilDelegate(string address);public class Carrier public event SendMailDelegate sendEvent;static void Main() Carrier t=new Carrier();/1 t.sendEvent+=new send MailDelegate(t_sendEvent);/2 t.sendEvent(“重庆足下” ) ;/3 t.sendEvent(“重庆足下” ) ;/4 private static void t_sendEvent(string address) Console.WriteLine

19、( “将信寄往” +address ) ; A、代码正确编译和运行,并输出一次“将信寄往重庆足下”B、代码正确编译和运行,并输出两次“将信寄往重庆足下”C、代码将出现编译错误 D、代码编译正确,但运行时将出现异常二、多项选择名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - 1. C#中以下关于枚举的说法错误的是( AD )A、枚举是一个指定的常数B、枚举表示一组有限的值C、枚举中可以有自己的方法 D、可以为枚举类型中的元素赋整数

20、值2. 静态成员和非静态成员的区别正确的是( ABC ) A 、静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问B、不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问C、一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值D、静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等3. 以下哪些可以作为接口成员( BE 不清楚)A、方法 B、属性 C、字段 D、事件E、索引器 F、构造函数 G、析构函数4. 类与结构的区别正确的说法是(CD ) 。A. 结构是值类型B. 结构支

21、持继承C. 结构不能定义默认的构造函数D. 结构不能定义析构函数E. 结构可以使用初始值设置域值5. 下面关于 C# 中索引器的说法错误的是( A C )A、索引器没有返回类型B、索引器一般用来访问类中的数组元素或集合元素C、索引器的参数类型必须是int 的类型D、索引器的声明可以使用类名或this 关键字三、简答题1、类成员有几种可访问性?并简要介绍下其特点。Public private protect和默认的 Public公共的 Private 是私有的 Protect 受保护的2、请描述值类型与引用类型的区别, 并分别列举至少3个值类型与引用类型。值类型包括:结构体(数值类型,bool型

22、,用户定义的结构体),枚举,可空类型。引用类型包括:数组,用户定义的类、接口、委托,object,字符串。数组的元素,不管是引用类型还是值类型,都存储在托管堆上。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - 引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。值类型在内存管理方面具有更好的效率,并且不支持多态,适合用作存储

23、数据的载体;引用类型支持多态,适合用于定义应用程序的行为。3、abstract class和 interface有什么区别 ? Abstract 声明方法的存在而不去实现它的类,并为该类声明方法,但不能有抽象构造函数或抽象静态方法。 Interface(接口)是抽象类的变体。在接口中,所有的方法都是抽象的!4、C#中的委托是什么,事件是不是一种委托? 委托是一种类型,而这种类型只想其他类型的方法。它是提供用来传方法的!事件是一个方法不是类型,所以不是委托,它是为了简化委托而出现的。5、请解释什么是反射,什么是序列化? 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射提供了封装程序集、

24、模块和类型的对象。序列化:是将对象转换为容易的格式的过程,例如:可以序列化一个对象,然后使用 HTTP 通过internet在客户端和服务器之间传输对象, 在另一端反序列化将该流重新构成对象。四、编程题1.一列数的规则如下: 1、1、2、 3、5、8、13、21、34. 求第 30 位数是多少,用递归算法实现。public int GetNumberAtPos(int pos) if(pos=0|pos=1) return 1; int res = GetNumberAtPos(pos - 1) + GetNumberAtPos(pos - 2); return res; 2.求以下表达式的值

25、:1-2+3-4+.+ m。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - bool flag=true; for(int i=1;i=m;i+) if(flag) sum+=i; else sum-=i; flag=!flag; return sum; int fuhao=1; int he=0; for(int i=1;i=m;i+) he+=i*fuhao; fuhao=fuhao*(-1); 2 . 列举 ASP.NE

26、T 页面之间传递值的几种方式。答. 1). 使用 QueryString, 如.?id=1; response. Redirect(). 2). 使用 Session变量3). 使用 Server .Transfer 3. 一列数的规则如下: 1 、1、2、3 、5 、8 、13 、21 、34. 求第 30 位数是多少,用递归算法实现。答: public class MainClass public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i 0 & i = 2) retur

27、n 1; else return Foo(i -1) + Foo(i - 2); 4.C# 中的委托是什么?事件是不是一种委托?答 : 委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托5.override与重载的区别答 : override 与重载的区别。 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要override 是进行基类中函数的重写。为了适应需要。6. 如果在一个B/S 结构的系统中需要传递变量值,但是又不能使用Session 、Cookie 、Application,您有几种方法进行处理?答 : QuerySt

28、ring、 this.Server.Transfer ,服务端 cach ,数据库7. 请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?答:foreach (Control control in this.Controls) if (control is TextBox) TextBox tb = (TextBox)control ; tb.Text = String.Empty ; 8. 请编程实现一个冒泡排序算法?答:int array = new int * ; int temp = 0 ; for (int i = 0 ; i array.Length -

29、1 ; i+) for (int j = i + 1 ; j array.Length ; j+) if (arrayj arrayi) temp = arrayi ; arrayi = arrayj ; arrayj = temp ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - 9. 描述一下 C# 中索引器的实现过程,是否只能根据数字进行索引?答:可以用任意类型。10. 求以下表达式的值,写出您想到的一种或几种实现方

30、法:1-2+3-4+ +m 答:法一:int sum=0; bool flag=true; for(int i=1;i0) return m/2; else return -m/2;12. 在下面的例子里using System; class A public A() PrintFields(); public virtual void PrintFields() class B:A int x=1; int y; public B() y=-1; public override void PrintFields() Console.WriteLine(x=0,y=1,x,y); 名师资料总结

31、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - 当使用 new B()创建 B 的实例时,产生什么输出?答: X=1,Y=013. 什么叫应用程序域?答: 。Net 的运行环境, CLR 将程序分成一个或多个逻辑区域就叫应用程序域AppDomain。14.CTS 、CLS 、CLR 分别作何解释?答: CTS:通用类型系统。CLS :通用语言规范。CLR:公共语言运行库。15. 什么是装箱和拆箱?答:从值类型接口转换到引用类型装箱。从引

32、用类型转换到值类型拆箱。16. 什么是受管制的代码?答: unsafe :非托管代码。不经过CLR 运行。17. 什么是强类型系统?答: RTTI :类型识别系统。中读写数据库需要用到那些类?他们的作用?答: SqlConnection/OleDbConnection:建立数据库的连接;SqlCommand/OleDbCommand:执行数据库脚本。21. 在.net 中,配件的意思是?答:程序集。(中间语言,源数据,资源,装配清单)22. 常用的调用WebService的方法有哪些?答: 1. 使用 WSDL.exe命令行工具。2. 使用 VS.NET中的 Add Web Reference

33、菜单选项 Remoting 的工作原理是什么?答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。29. 根据线程安全的相关知识,分析以下代码,当调用test方法时 i10 时是否会引起死锁?并简要说明理由。public void test(int i) lock(this) if (i10) i-; test(i); 答:不会发生死锁, (但有一点int 是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把 int 换做一个 object ,那么死锁会发生)30. 简要谈一下您对微软.NET 构架下 remoting和 webservice两项技术的理解

34、以及实际中的应用。答: WS 主要是可利用HTTP ,穿透防火墙。而Remoting可以利用 TCP/IP ,二进制传送提高效率。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - remoting是 .net 中 用 来 跨 越machine, process, appdomain 进行方法调用的技术,对于三层结构的程序,就可以使用remoting技术来构建它是分布应用的基础技术.相当于以前的DCOM Web Service是

35、一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实施。Web Service令基于组件的开发和web 的结合达到最佳,基于组件的对象模型31. 公司要求开发一个继承System.Windows.Forms.ListView类的组件, 要求达到以下的特殊功能:点击 ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行( 排序的方式如DataGrid相似) 。根据您的知识,请简要谈一下您的思路答:根据点击的列头,包该列的名称取出,按照该列名排序后,再绑定到 ListView中。32. 给定以下 XML 文件,完成算法流程图。 请画出遍历所有文件名(Fi

36、leName)的流程图 (请使用递归算法)。答:图就不画了,直接把程序写出来:Public void DomDepthFirst(XmlNode currentNode) XmlNode node=currentNode.FirstChild; while(node!=null) if(node.Name=File) Console.Write(XmlElement)node).GetAttribute(FileName)+rn); DomDepthFirst(node); node=node.NextSibling; 35. 能用 foreach遍历访问的对象需要实现_接口或声明 _方法的类

37、型。答: IEnumerable 、 GetEnumerator。36.GC是什么 ? 为什么要有GC? 答: GC 是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - System.gc() Runtime.getRuntime().gc() 37.String s = new String(xyz);创建了几个Stri

38、ng Object? 答:两个对象,一个是“ xyx ” ,一个是指向 “ xyx ” 的引用对像s。38.abstract class和 interface有什么区别 ? 答:声明方法的存在而不去实现它的类被叫做抽像类(abstract class) ,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。 Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。

39、知道其行为的其它类可以在类中实现这些方法。接口( interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换, instanceof 运算符可以用来决定某对象的类是否实现

40、了接口。39. 启动一个线程是用run()还是 start()? 答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。40. 接口是否可继承接口? 抽像类是否可实现(implements)接口 ? 抽像类是否可继承实体类(concrete class)? 答:接口可以继承接口。抽像类可以实现(implements)接口,抽像类是否可继承实体类,但前提是实体类必须有明确的构造函数。41. 构造器 Constructor是否可被 override? 答

41、:构造器 Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。42. 是否可以继承String类? 答: String类是 final类故不可以继承。44. 两个对像值相同 (x.equals(y) = true),但却可有不同的hash code,这句话对不对 ? 答:不对,有相同的hash code。45.swtich是否能作用在byte上,是否能作用在long 上,是否能作用在String上? 答:switch (expr1 )中, expr1 是一个整型,字符或字符串,因此可以作用在byte和 long上,也可以作用在 string上

42、。47. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 不能,一个对象的一个synchronized方法只能由一个线程访问。48.abstract的 method是否可同时是static,是否可同时是native ,是否可同时是synchronized? 答:都不能。49.List, Set, Map是否继承自 Collection接口 ? 答: List ,Set 是 Map 不是50.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 = 还是 equals()? 它们有何区别 ? 名师资料总结 - - -精品资料欢迎下载

43、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - 答: Set 里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set 是否相等。equals()和= 方法决定引用值是否指向同一对像equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。51. 数组有没有length()这个方法 ? String有没有 length()这个方法?答: 数组和 string都没有 Length()方法,只有Le

44、ngth属性。52.sleep() 和 wait() 有什么区别 ? 答: sleep()方法是将当前线程挂起指定的时间。wait()释放对象上的锁并阻塞当前线程,直到它重新获取该锁。53.short s1 = 1; s1 = s1 + 1;有什么错 ? short s1 = 1; s1 += 1;有什么错 ? 答: short s1 = 1; s1 = s1 + 1;有错, s1 是 short型, s1+1 是 int 型,不能显式转化为short型。可修改为 s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。54. 谈谈 final, finall

45、y, finalize的区别。答:final 修饰符(关键字)如果一个类被声明为final ,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final ,可以保证它们在使用中不被改变。被声明为final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final 的方法也同样只能使用,不能重载finally 再异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常, 那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话) 。finali

46、ze方法名。 Java 技术允许使用finalize() 方法在垃圾收集器将对像从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。 finalize() 方法是在垃圾收集器删除对像之前对这个对象调用的。55. 如何处理几十万条并发数据?答:用存储过程或事务。取得最大标识的时候同时更新. 注意主键不是自增量方式这种方法并发的时候是不会有重复主键的. 取得最大标识要有一个存储过程来获取. 56.Session有什么重大B

47、UG ,微软提出了什么方法加以解决?答:是 iis 中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或 SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的 END 事件。57. 进程和线程的区别?答:进程是系统进行资源分配和调度的单位;线程是CPU 调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。58. 堆和栈的区别?答: 栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小59. 成

48、员变量和成员函数前加static的作用?答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。60.ASP 。NET 与 ASP 相比,主要有哪些进步?答: asp 解释形, aspx 编译型,性能提高,可以跟美工的工作分开进行,更有利于团队开发。61. 产生一个 int 数组,长度为 100 ,并向其中随机插入1-100,并且不能重复。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -

49、 第 15 页,共 24 页 - - - - - - - - - int intArr=new int100; ArrayList myList=new ArrayList(); Random rnd=new Random(); while(myList.Count100) int num=rnd.Next(1,101); if(!myList.Contains(num) myList.Add(num); for(int i=0;i100;i+) intArri=(int)myListi; 62. 请说明在 .net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。答: session(

50、viewstate) 简单,但易丢失application 全局cookie 简单,但可能不支持,可能被伪造url 参数 简单,显示于地址栏,长度有限数据库稳定,安全,但性能相对弱63. 请指出 GAC 的含义?答:全局程序集缓存。64. 向服务器发送请求有几种方式?答: get,post。get 一般为链接方式,post 一般为按钮方式。65.DataReader与 Dataset有什么区别?答:一个是只能向前的只读游标,一个是内存中的表。66. 软件开发过程一般有几个阶段?每个阶段的作用?答:需求分析,架构设计,代码编写,QA,部署67. 在 c# 中 using和 new 这两个关键字有

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁