2023年点net面试之葵花宝典_第1页
2023年点net面试之葵花宝典_第2页
2023年点net面试之葵花宝典_第3页
2023年点net面试之葵花宝典_第4页
2023年点net面试之葵花宝典_第5页
已阅读5页,还剩128页未读 继续免费阅读

下载本文档

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

文档简介

相换工作的朋友可以试着做一下:ﻫ1.CLR、CTS、CLS分别是什么意思?

共公语言运营库,通用类型系统,公共语言规范ﻫ2.什么是基元类型?ﻫ由编译器直接支持的数据类型称为基元类型.

3.值类型和引用类型的区别是什么?为什么要设计值类型?值类型会被GC回收吗?值类型是否能在托管堆分派?ﻫ4.Equals、==、ReferenceEquals如何区别使用?ﻫ5.什么是虚方法?如何理解多态?

6.overload和override有什么区别?ﻫ7.基于接口编程的目的是什么?什么情况下使用接口,什么情况下使用抽象类?ﻫ8.委托是什么意思?什么叫委托链?我们能在代码中继承MulticastDelegate吗?ﻫ9.实现Iterators一般用到哪些接口?ﻫ10.请写一个简朴泛型类型,规定有两个泛型参数T、K,其中T必须是值类型,K必须实现了IDisposable接口。ﻫ

8、简要谈一下您对微软.NET

构架下remoting和webservice两项技术的理解以及实际中的应用。(10)

remoting是.net

中用来跨越machine,

process,

appdomain

进行方法调用的技术,对于三成结构的程序,就可以使用remoting技术来构建.它是分布应用的基础技术.相称于以前的DCOM

Web

Service是一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实行。Web

Service令基于组件的开发和web的结合达成最佳,基于组件的对象模型

10.请解释ASP。NET中以什么方式进行数据验证

Aps.net中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另尚有一个集中验证信息解决控件

11.

WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。

在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到务端

只有通过自动传回才干实现服务端事件的机制,假如没有自动回传机制就只能调用客户端事件,而不能调用服务端事件

12.

WEB控件及HTML服务端控件能否调用客户端方法?假如能,请解释如何调用?

可以调用

例如:<asp:TextBoxid="TextBox1"onclick="clientfunction();"runat="server">ﻫ</asp:TextBox>

<INPUTid="Button2"value="Button"name="Button2"ﻫrunat="server"onclick="clientfunction();">ﻫ14.

请解释ASP。NET中的web页面与其隐藏类之间的关系?ﻫ一个ASP.NET页面一般都相应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下

<%@Pagelanguage="c#"Codebehind="Tst1.aspx.cs"AutoEventWireup="false"="T1.Tst1"%>ﻫCodebehind="Tst1.aspx.cs"表白经编译此页面时使用哪一个代码文献ﻫInherits="T1.Tst1"表用运营时使用哪一个隐藏类ﻫ15.

什么是viewstate,能否禁用?是否所用控件都可以禁用?ﻫViewstate是保存状态的一种机制,EnableViewState属性设立为false即可禁用

16.

当发现不能读取页面上的输入的数据时很有也许是什么因素导致的?怎么解决

很有也许是在Page_Load中数据解决时没有进行Page的IsPostBack属性判断

17.

请解释什么是上下文对象,在什么情况下要使用上下文对象ﻫ上下文对象是指HttpContext类的Current属性,当我们在一个普通类中要访问内置对象(Response,Request,Session,Application,Server,Trace,Context等)时就要以使用此对象ﻫ18.

请解释转发与跳转的区别?

转发就是服务端的跳转A页面提交数据到B页面,B页面进行解决然后从服务端跳转到其它页面ﻫ跳转就是指客户端的跳转

1.请简述一下用Socket进行同步通讯编程的具体环节

1、在应用程序和远程设备中使用协议和网络地址初始化套接字

2、在应用程序中通过指定端口和地址建立监听ﻫ3、远程设备发出连接请求

4、应用程序接受连接产生通信scoketﻫ5、应用程序和远程设备开始通讯(在通讯中应用程序将挂起直到通讯结束)ﻫ6、通讯结束,关闭应用程序和远程设备的Socket回收资源ﻫ13.

请解释web.config文献中的重要节点

appSettings包含自定义应用程序设立。

system.web系统配置ﻫcompilation动态调试编译设立ﻫcustomErrors自定义错误信息设立ﻫauthentication身份验证,此节设立应用程序的身份验证策略。ﻫauthorization授权,此节设立应用程序的授权策略.5.列举ASP.NET页面之间传递值的几种方式。ﻫ1.

使用QueryString,如....?id=1;response.Redirect()....ﻫ2.使用Session变量

3.使用Server.Transfer2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺陷。ﻫsession(viewstate)简朴,但易丢失ﻫapplication全局ﻫcookie简朴,但也许不支持,也许被伪造

inputttype="hidden"简朴,也许被伪造ﻫurl参数简朴,显示于地址栏,长度有限

数据库稳定,安全,但性能相对弱ﻫ2.override与重载的区别

Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数ﻫ3、.net的错误解决机制是什么

.net错误解决机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。ﻫ4、C#中接口和类的异同

接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口重要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。

4、DataReader和DataSet的异同

DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..由于DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..由于DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..

DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..由于DataSet将数据所有加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...

1.

在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?ﻫUsing引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New实例化一个对像,或修饰一个方法,表此方法完全重写此方法4.谈谈类和结构的区别?

最大区别一个是引用类型,一个是值类型默认成员访问为public是此外一个区别

1.在.net(C#orvb.net)中如何获得当前窗体或控件的句柄,特别是控件自身的句柄(请列举)。ﻫthis(C#)Me(vb.net).

2在.net(C#orv)中如何用户自定义消息,并在窗体中解决这些消息。ﻫ在form中重载DefWndProc函数来解决消息:ﻫprotectedoverridevoidDefWndProc(refSystem.WinForms.Messagem)

switch(m.msg)ﻫ{

caseWM_Lbutton:ﻫ///string与MFC中的CString的Format函数的使用方法有所不同ﻫstringmessage=string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);ﻫMessageBox.Show(message);///显示一个消息框ﻫbreak;ﻫcaseUSER:ﻫ解决的代码ﻫdefault:

base.DefWndProc(refm);///调用基类函数解决非自定义消息。ﻫbreak;ﻫ}ﻫ}ﻫ3.在.net(C#or)如何启动另一个程序。process

4.在.net(C#orvb.net)中如何取消一个窗体的关闭ﻫprivatevoidForm1_Closing(objectsender,System.ComponentModel.CancelEventArgse)ﻫ{ﻫe.Cancel=true;ﻫ}ﻫ5.在.net(C#orvb.net)中,Appplication.Exit还是Form.Close有什么不同?ﻫ答案:一个是退出整个应用程序,一个是关闭其中一个formﻫ6.在C#中有一个double型的变量,比如10321.5,比如.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50和$122,235,401.22而在英国则为£10321.50和£122235401.22ﻫ答案:

System.Globalization.CultureInfoMyCulture=newSystem.Globalization.CultureInfo("en-US");ﻫ//System.Globalization.CultureInfoMyCulture=newSystem.Globalization.CultureInfo("en-GB");为英国货币类型ﻫdecimaly=9999m;

stringstr=String.Format(MyCulture,"Myamount={0:c}",y);ﻫ7.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:ﻫ(1)密码单词的最小长度是两个字母,可以相同,也可以不同

(2)K不也许是单词的第一个字母ﻫ(3)假如L出现,则出现次数不止一次

(4)M不能使最后一个也不能是倒数第二个字母

(5)K出现,则N就一定出现

(6)O假如是最后一个字母,则L一定出现

问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?

A)KB)LC)MD)N

答案:B

问题二:假如能得到的字母是K、L、M,那么可以形成的两个字母长的密码单词的总数是多少?ﻫA)1个B)3个C)6个D)9个ﻫ答案:A

问题三:下列哪一个是单词密码?

A)KLLNB)LOMLC)MLLOD)NMKO

答案:C

8.62-63=1等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?

答案:62移动成2的6次方

8.C#中的接口和类有什么异同。

答:接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!

而类是负责功能的具体实现!

在类中也有抽象类的定义,抽象类与接口的区别在于:

抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。ﻫ但接口是一个行为的规范,里面的所有东西都是抽象的!ﻫ一个类只可以继承一个基类也就是父类,但可以实现多个接口

9.。net中读写数据库需要用到哪些类?他们的作用

答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到.

17.什么是SOAP,有哪些应用。

答:SOAP(SimpleObjectAccessProtocol)简朴对象访问协议是在分散或分布式的环境中互换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言互相通信。这种互相通信采用的是XML格式的消息,具体请看:

20.常用的调用webservice方法有哪些?

答:ﻫ可以从浏览器、ASP页或其他WEB服务调用可以使用HTTP-GET

HTTP-POST访问WEB服务也可以从ASP页或其他WEB服务向其他WEB服务发出SOAP请求HTTP-GET

HTTP-POST

SOAP

使用WEB服务代理

6.

私有程序集与共享程序集有什么区别?

一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。共享程序集通常存储在全局程序集缓存(GlobalAssemblyCache)之中,这是一个由.NET运营时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NETFramework类。

7.

请解释进程与线程的区别?进程与程序的区别?ﻫ一般,一个应用程序相应于一个或多个进程,可以把进程看作是该应用程序在*作系统中的标记;而一个进程通常由多个线程组成,而线程是*作系统为该应用程序分派解决时间的最小单元。

8.

CLR与IL分别是什么含义?ﻫCLR:公共语言运营时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将直接与操作系统进行通信,而编程语言如C#.NET将尽量避免直接与*作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR就是具体的编程语言如:C#.NET与操作系统之间的翻译,同时它为具体的编程语言提供了许多资源:

IL,中间语言,也称MSIL,微软中间语言,或CIL,通用中间语言;所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运营时被即时(Just-In-Time,JIT)编译器解决成为机器码,被解释及执行。ﻫ9.什么叫做SQL注入,如何防止?请举例说明。ﻫ运用sql关键字对网站进行袭击。过滤关键字'等

所谓SQL注入(SQLInjection),就是运用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取想得到的资料。

HYPERLINK"http://localhost/lawjia/show.asp?ID=444"http://localhost/lawjia/show.asp?ID=444anduser>0,这时,服务器运营Select*from表名where字段=444anduser>0这样的查询,当然,这个语句是运营不下去的,肯定犯错,错误信息如下:ﻫ·错误类型:ﻫMicrosoftOLEDBProviderforODBCDrivers(0x80040E07)

[Microsoft][ODBCSQLServerDriver][SQLServer]将nvarchar值'sonybb'转换为数据类型为int的列时发生语法错误。ﻫa产生一个int数组,长度为100,并向其中随机插入1-100,并且不能反复。

int[]intArr=newint[100];

ArrayListmyList=newArrayList();

Randomrnd=newRandom();

while(myList.Count<100)

{

intnum=rnd.Next(1,101);

if(!myList.Contains(num))

myList.Add(num);ﻫ}ﻫfor(inti=0;i<100;i++)ﻫintArr[i]=(int)myList[i];ﻫ

20.请叙述类与结构的区别。

1)、结构是值类型;

2)、结构不支持继承;ﻫ3)、结构不能定义默认的构造函数;ﻫ4)、结构不能定义析构函数;ﻫ5)、结构不能使用初始值设立域值。

序列化是将对象转换为容易传输的格式的过程。ado.netﻫconnection连接对象

Command命令对象,执行SQL命令与存储过程

DataReader

向前只读的数据流。

DataAdapadter功能强大的适配器,支持增删改查的功能ﻫDataSet

是数据集对象,相称与内存中的数据库,还可存放表这间的关系

.net身份验证ﻫform

Windows

passport护照

noneﻫ反射:在运营中得到程序集的信息(包类型,及成员,反射提供了封装程序集、模块和类型的对象。)反射:在运营时找到有关对象、对象的类,方法和变量等信息。System.Reflection

ORM

O/Rmapping对象关系映射。

NEW的方法:newclass

PublicNewXX()

New约束指定的泛型控件是.ascx扩展名。可以拖到不同的页面中调用。节省大量的手写代码virtual虚函数,QueryStringﻫSessionﻫServer.Transferﻫprivate

私有的成员类公为类自己内部使用

Protected

收保护的成员呀为自己类和继承类使用

Public

共开类,为使用类共用

internal

在同一命名空间中使用ﻫOOP继承,封装,多态性重写

overrid

派生类开基类同名与参数相同。盖掉前面的方法

继承的类方法与函数在基类相同这里被重写,名称相同ﻫ重载

函数或方法名相同,后面参数不同系统自动找到相应的值

把函数当着一个参数..委托时间段

是多个线程一起运营....

一个进程可以涉及多个线程

时间点

cup只有一个线程占用他是一个强类型与长期保存

与application与session不同样呀.长期保存了ﻫ支持匿名用户,他配制存在ProviderﻫSystem.Text.Encoding.Default.GetBytes(变量)

字码转换转为比特码

ﻫ(2)能用foreach遍历访问的对象需要实现_IEnumerable接口或声明_GetEnumerator方法的类型。1.c#中的三元运算符是__?:__ﻫﻫ3.类成员有__3__种可访问形式?

4.publicstaticcA=1;这段代码有错误么?是什么?const成员都是static所以应当去掉staticﻫ5.floatf=-123.567F;ﻫinti=(int)f;ﻫi的值现在是_-123____?

6.运用operator声明且仅声明了==,有什么错误么?

要同时修改Equale和GetHash()?重载了"=="就必须重载"!="

7.委托声明的关键字是___delegate___?

ﻫ9.在A中所有的自定义用户控件都必须继承自_System.Web.UI.UserControl

10.在.Net中所有可序列化的类都被标记为__[serializable]___?ﻫ11.在.Net托管代码中我们不用紧张内存漏洞,这是由于有了_gC__?

12.下面的代码中有什么错误吗?_abstractoverride是不可以一起修饰______ﻫusingSystem;ﻫclassAﻫ{

publicvirtualvoidF(){

Console.WriteLine("A.F");

abstractclassB:Aﻫ{

publicabstractoverridevoidF();

}13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以or不可以)从T派生出新的类,_不可以_(可以or不可以)直接创建T的任何实例。

14.下面这段代码有错误么?case():不行default;

switch(i){ﻫcase():

CaseZero();ﻫbreak;ﻫcase1:ﻫCaseOne();ﻫbreak;

case2:ﻫdufault;

CaseTwo();ﻫbreak;ﻫ}ﻫ15.在.Net中,类System.Web.UI.Page可以被继承么?可以2.不定项选择:(1)以下叙述对的的是:BCB.一个类可以实现多个接口。

C.接口不能被实例化。ﻫ

(2)从数据库读取记录,你也许用到的方法有:BCD

B.ExecuteScalar

C.Fill

D.ExecuteReader2.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选)

ABC

)

A.CloseﻫB.Dispose

C.Finalize

3.以下关于ref和out的描述哪些项是对的的?(多选)

(

ACD

)

A.使用ref参数,传递到ref参数的参数必须最先初始化。

C.使用ref参数,必须将参数作为ref参数显式传递到方法。

D.使用out参数,必须将参数作为out参数显式传递到方法。

1.在对SQLServer数据库操作时应选用(A)。a)SQLServer.NETFramework数据提供程序;

2.下列选项中,(C)是引用类型。a)enum类型

b)struct类型

c)string类型

d)int类型3.关于ASP.NET中的代码隐藏文献的描述对的的是(C)

c)项目中所有的Web窗体页的代码隐藏文献都被编译成项目动态链接库(.dll)文献。

4.以下描述错误的是(A)a)在C++中支持抽象类而在C#中不支持抽象类。b)C++中可在头文献中声明类的成员而在CPP文献中定义类的成员,在C#中没有头文献并且在同一处声明和定义类的成员。c)在C#中可使用new修饰符显式隐藏从基类继承的成员。d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。5.C#的数据类型有(B)

b)值类型和引用类型;

6.下列描述错误的是(D)a)类不可以多重继承而接口可以;b)抽象类自身可以定义成员而接口不可以;c)抽象类和接口都不能被实例化;d)一个类可以有多个基类和多个基接口;7.在DOM中,装载一个XML文档的方法(D)

b)load方法

8.下列关于构造函数的描述对的的是(C)c)构造函数必须与类名相同

9.以下是一些C#中的枚举型的定义,其中错误的用法有(无)a)publicenumvar1{Mike=100,Nike=102,Jike}b)publicenumvar1{Mike=100,Nike,

Jike}c)publicenumvar1{Mike=-1,Nike,Jike}d)publicenumvar1{Mike,Nike,Jike}10.int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};myArray3[2][2]的值是(D)。a)9

b)2

c)6

d)越界11.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。a)方法、属性、索引器和事件;ﻫ

b)方法、属性信息、属性;

c)索引器和字段;

d)事件和字段;12.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是(A)a)HTML控件和Web控件ﻫﻫ13.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,对的的注册指令为(D)a)<%@RegisterTagPrefix=“Mike”TagName=“Space2”Src=“myX.ascx”%>b)<%@RegisterTagPrefix=“Space2”TagName=“Mike”Src=“myX.ascx”%>c)<%@RegisterTagPrefix=“SpaceX”TagName=“Space2”Src=“Mike”%>d)以上皆非14.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(C)。a)insert、update、delete等操作的Sql语句重要用ExecuteNonQuery()方法来执行;b)ExecuteNonQuery()方法返回执行Sql语句所影响的行数。c)Select操作的Sql语句只能由ExecuteReader()方法来执行;d)ExecuteReader()方法返回一个DataReder对象;15.下列ASP.NET语句(b)对的地创建了一个与SQLServer2023数据库的连接。ﻫb)SqlConnectioncon1=newSqlConnection(“DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB”);

ﻫ16.Winform中,关于ToolBar控件的属性和事件的描述不对的的是(D)。a)Buttons属性表达ToolBar控件的所有工具栏按钮b)ButtonSize属性表达ToolBar控件上的工具栏按钮的大小,如高度和宽度c)DropDownArrows属性表白工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键d)ButtonClick事件在用户单击工具栏任何地方时都会触发17.在ADO.NET中执行一个存储过程时,假如要设立输出参数则必须同时设立参数的方向和(B),必要时还要设立参数尺寸。a)大小;

b)上限;

c)初始值;

d)类型;18.假如将窗体的FormBoderStyle设立为None,则(B)。

b)窗体没有边框但能调整大小;

19.假如要将窗体设立为透明的,则(B)

b)要将Opacity属性设立为小于100%得值;

20.下列关于C#中索引器理解对的的是(B/C)

b)索引器的参数类型必须是整数型c)索引器没有名字

21.下面描述错误的是(C/D)。a)窗体也是控件;b)窗体也是类;

22.要对注册表进行操作则必须包含(D)。a)System.ComponentModel命名空间;b)System.Collections命名空间;c)System.Threading命名空间;

d)Microsoft.Win32命名空间;23.要创建多文档应用程序,需要将窗体的(D)属性设为true。

d)IsMdiContainer;24.假如设treeView1=newTreeView(),则treeView1.Nodes.Add("根节点")返回的是一个(void)类型的值。a)TreeNode;b)int;c)string;d)TreeView;25.下面关于XML的描述错误的是(D)。a)XML提供一种描述结构化数据的方法;b)XML是一种简朴、与平台无关并被广泛采用的标准;c)XML文档可承载各种信息;

1.装箱、拆箱操作发生在:(

C

)

C.引用类型与值类型之间

2.用户类若想支持Foreach语句需要实现的接口是:(

)A.IEnumerableB.IEnumeratorC.ICollectionD.ICollectData3..NetFramework通过什么与COM组件进行交互操作?(

C)A.SideBySideﻫB.WebServiceC.Interop

D.PInvoke4..Net依靠以下哪一项技术解决COM存在的DllHell问题的?(

A

)A.SideBySide

B.InteropC.PInvoke

D.COM+5.装箱与拆箱操作是否是互逆的操作?(

)A.是B.否6.以下哪个是可以变长的数组?(

D

)A.Array

B.string[]C.string[N]

D.ArrayList7.用户自定义异常类需要从以下哪个类继承:(

)A.Exception

8.以下代码段中能否编译通过?请给出理由。try{}catch(FileNotFoundExceptione1){}catch(Exceptione2){}catch(IOExceptione3){}catch{}

不能,上一个catch子句已捕获所有异常。引发的所有非异常均被包装在System.Runtime.CompilerServices.RuntimeWrappedException中。、9.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选)(

ABC

)A.Close

B.DisposeC.FinalizeD.using

10.Net依赖以下哪项技术实现跨语言互用性?(

C

)

C.CLS

11.请问:String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)

假如要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它的确可以完毕把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。由于系统先是把两个字符串写入内存,接着删除本来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,可以在已有对象的原地进行字符串的修改,简朴并且直接。当然,一般情况下觉察不到这两者效率的差异,但假如你要对某个字符串进行大量的添加操作,那么StringBuilder类所花费的时间和String类简直不是一个数量级的。

12.以下哪个类是int的基类?(

)A.Int32

D.Int16

二、C#部分*13.以下哪些可以作为接口成员?(多选)(

ABDE)A.方法B.属性C.字段D.事件E.索引器F.构造函数G.析构函数14.以下关于ref和out的描述哪些项是对的的?(多选)(

ACD

)A.使用ref参数,传递到ref参数的参数必须最先初始化。

C.使用ref参数,必须将参数作为ref参数显式传递到方法。D.使用out参数,必须将参数作为out参数显式传递到方法。15.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的对的描述?(

)A.public

B.protected

C.internal

D.protectedinternal16.classClass1{

privatestaticintcount=0;

staticClass1()

{

count++;

}

publicClass1()

count++;

}}Class1o1=newClass1();Class1o2=newClass1();请问,o1.Count的值是多少?(

)A.1

B.2

C.3

D.417.abstractclassBaseClass{

publicvirtualvoidMethodA()

}

publicvirtualvoidMethodB()

{

}}classClass1:BaseClass{

publicvoidMethodA(stringarg)

{

}

publicoverridevoidMethodB()

{

}}classClass2:Class1{

newpublicvoidMethodB()

{

}}classMainClass{

publicstaticvoidMain(string[]args)

{

Class2o=newClass2();

Console.WriteLine(o.MethodA());

}}请问,o.MethodA调用的是:(

)A.BaseClass.MethodB.Class2.MethodAC.Class1.MethodAD.都不是18.请叙述属性与索引器的区别。

属性

索引器

通过名称标记。

通过署名标记。

通过简朴名称或成员访问来访问。

通过元素访问来访问。

可认为静态成员或实例成员。

必须为实例成员。

属性的

get

访问器没有参数。

索引器的

get

访问器具有与索引器相同的形参表。

属性的

set

访问器包含隐式

value

参数。

除了

value

参数外,索引器的

set

访问器还具有与索引器相同的形参表。

19.请叙述const与readonly的区别。每一个class至多只可以定义一个static构造函数,并且不允许增长访问级别关键字,参数列必须为空。ﻫ

为了不违反编码规则,通常把static数据成员声明为private,然后通过statciproperty提供读写访问。ﻫ

const关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。ﻫ

const数据成员的声明式必须包含初值,且初值必须是一个常量表达式。由于它是在编译时就需要完全评估。ﻫ

const成员可以使用另一个const成员来初始化,前提是两者之间没有循环依赖。

readonly在运营期评估赋值,使我们得以在保证“只读访问”的前提下,把object的初始化动作推迟到运营期进行。ﻫ

readonly关键字与const关键字不同:const字段只能在该字段的声明中初始化。readonly字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly字段也许具有不同的值。此外,const字段是编译时常数,而readonly字段可用于运营时常数。ﻫreadonly只能在声明时或者构造函数里面初始化,并且不能在static修饰的构造函数里面。21.您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。

所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:

a、匿名用户不允许访问这个应用程序。ﻫb、所有雇员除了Tess和King都允许访问这个应用程序。

请问您应当使用以下哪一个代码段来配置这个应用程序?(

A

)ﻫA.<authorization>

<denyusers=”allwin\tess,allwin\king”>

<allowusers=”*”>ﻫ<denyusers=”?”>

</authorization>

B.<authorization>

<allowusers=”*”>

<denyusers=”allwin\tess,allwin\king”>

<denyusers=”?”>ﻫ</authorization>ﻫC.<authorization>

<denyusers=”allwin\tess,allwin\king”>ﻫ<denyusers=”?”>ﻫ<allowusers=”*”>

</authorization>

D.<authorization>

<allowusers=”allwin\tess,allwin\king”>

<allowusers=”*”>

</authorization>

E.<authorization>

<allowusers=”*”>

<denyusers=”allwin\tess,allwin\king”>

</authorization>22.您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应当怎么做?(

C?

)

ﻫC.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。

23.您要创建ASP.NET应用程序用于运营AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完毕这些目的,您应当怎么做?(多选)(

CD

)ﻫC.在这个应用程序的Global.asax文献中创建一个CustomErrors事件去解决HTTP错误。

D.在这个应用程序的Web.config文献中创建一个CustomErrors节去解决HTTP错误。

。24.您的公司有一个DBServer,名为AllWin,其上装了MSSQLSERVER2023。现在需要您写一个数据库连接字符串,用以连接AllWin上SQLSERVER中的一个名为PubBase实例的Test库。请问,应当选择下面哪一个字符串?(

B

B.“Server=AllWin;DataSource=PubBase;Database=Test;IntegratedSecurity=SSPI”

25.您为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个XmlWebService。这个XmlWebService将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个XmlWebService?(

?

)

B.在“Web引用”对话框中输入这个XMLWebservice的地址。ﻫ

26.您要创建一个ASP.NET应用程序在DataGrid控件中显示一个通过排序的列表。产品数据被存放于一个名为PubBase的MicrosoftSQLServer数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设立为CommandType.StoredProcedure,并将它的CommandText属性设立为procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字母顺序排列的ProductName,请问该怎么做?(

)

A.将SqlCommand对象的CommandType属性修改为CommandType.Text,将CommandText属性修改为”SELECT*FROMprocProductListORDERBYProductNameDESC”。然后将这个DataTable对象绑定到DataGrid控件。

B.创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设立为“ProductNameDESC”。然后将这个DataView对象绑定到DataGrid控件。ﻫC.将DataGrid控件的AllowSorting属性设立为True,并将DataGridColumn的SortExpression属性设立为“ProductNameDESC”.以显示ProductName。然后将这个DataTable对象绑定到DataGrid控件。

D.将DataTable对象的DisplayExpression属性设立为“ORDERBYProductNameDESC”.。然后将这个DataTable对象绑定到DataGrid控件。76.C#代码实现,保证windows程序只有一个实例(instance)

///<summary>

///应用程序的主入口点。

///</summary>

[STAThread]

staticvoidMain()

{

//防止程序多次运营

if(!OneInstance.IsFirst("GetPayInfo"))

{

MessageBox.Show("警告:程序正在运营中!请不要反复打开程序!可在右下角系统栏找到!","程序错误提醒:",MessageBoxButtons.OK,MessageBoxIcon.Stop);

return;

Application.Run(newForm1());

//*******************

防止程序多次执行

**************************

publicabstractclassOneInstance

///<summary>

///判断程序是否正在运营

///</summary>

///<paramname="appId">程序名称</param>

///<returns>假如程序是第一次运营返回True,否则返回False</returns>

publicstaticboolIsFirst(stringappId)

{

boolret=false;

if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero)

CreateMutex(IntPtr.Zero,0,appId);

ret=true;

}

returnret;

}

[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]

privatestaticexternIntPtrOpenMutex(

uintdwDesiredAccess,

//access

intbInheritHandle,

//inheritanceoption

stringlpName

//objectname

);

[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]

privatestaticexternIntPtrCreateMutex(

IntPtrlpMutexAttributes,

//SD

intbInitialOwner,

//initialowner

stringlpName

//objectname

);

}

ﻫ2.在下面的例子里

usingSystem;

classAﻫ{

publicA(){ﻫPrintFields();ﻫ}ﻫpublicvirtualvoidPrintFields(){}ﻫ}ﻫclassB:A

{ﻫintx=1;

inty;

publicB(){ﻫy=-1;

publicoverridevoidPrintFields(){ﻫConsole.WriteLine("x={0},y={1}",x,y);ﻫ}

当使用newB()创建B的实例时,产生什么输出?X=1,Y=0ﻫ3.下面的例子中usingSystem;

classAﻫ{

publicstaticintX;

staticA(){

X=B.Y+1;ﻫ}ﻫ}ﻫclassBﻫ{ﻫpublicstaticintY=A.X+1;ﻫstaticB(){}ﻫstaticvoidMain(){

Console.WriteLine("X={0},Y={1}",A.X,B.Y);

}

产生的输出结果是什么?x=1,y=2

2、请详述在dotnet中类(class)与结构(struct)的异同:(10分)

Class可以被实例化,属于引用类型,是分派在内存的堆上的,Struct属于值类型,是分派在内存的栈上的.

3、根据委托(delegate)的知识,请完毕以下用户控件中代码片段的填写:(10)

namespace

test

{

public

delegate

void

OnDBOperate();

public

class

UserControlBase

:

System.Windows.Forms.UserControl

{

public

event

OnDBOperate

OnNew;

privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs

e)

if(e.Button.Equals(BtnNew))

//请在以下补齐代码用来调用OnDBOperate委托署名的OnNew事件。

}

}

}

____________________________________________________________________

if(

OnNew

!=

null

)

OnNew(

this,

e

);

4、分析以下代码,完毕填空(10分)

string

strTmp

"abcdefg某某某";

int

i=

System.Text.Encoding.Default.GetBytes(strTmp).Length;

int

j=

strTmp.Length;

以上代码执行完后,i=

j=

i还真的不知道,

j=10

5、SQLSERVER服务器中,给定表

table1

中有两个字段

ID、LastUpdateDate,ID表达更新的事务号,

LastUpdateDate表达更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。(10)

select

top

ID

from

table1

order

by

LastUpdateData

desc

一、Web基础知识(HTML、XML、CSS基础语法):

1、HTML/XML规范中,元素结束标签是以尖括号括起来,并以/还是\开头再加上元素名称?即body的结束标签是</body>还是<\body>

2、符合XHTML规范的文档一定符合XML规范吗?XSL和HTML的文档呢?

3、XML规范中,第一行必须是<?xml…还是<!xml…开头?

4、一个HTML文档必须包含三个元素,它们是head、body和哪个?ﻫ5、HTML中文档内联注释应当是以<!-开头还是<!--或者<?-,又以什么结尾?ﻫ6、Javascript脚本必须写在什么标签之内。

7、FireFox浏览器是否支持VBScript脚本?

8、我们现在使用的IE的版本一般是多少,IE的英文全称是什么?

9、CSS规范中,每一条样式的结束符是;(分号)还是:(冒号)?样式名与样式值之间的分隔符是:(冒号)还是=(等号)?

10、CSS规范中,.(句点)后面跟一个名称代表什么含义?#(井号)后面跟一个名称代表什么含义?假如要对一个元素设立CSS样式,应将CSS样式写在它的什么属性内?ﻫ1、</body>ﻫ2、XHTML和XSL都必然符合XML规范,HTML不符合。ﻫ3、<?xmlﻫ4、html

5、<!--和-->

6、<script>

7、不支持

8、InternetExplorer6.0SP2/5.5/5.0/6.0SP1/7.0beta2/7.0beta3都算对。ﻫ9、;,:和=都可以ﻫ10、.后面跟个名称表达文档中所有class属性值包含这个名称的应用其后样式,#后面跟个名称表达文档中ID为此名称的元素应用其后样式。

二、C#语法考察ﻫ1、delegate是引用类型还是值类型?enum、int[]和string呢(难度系数40%)?ﻫ2、我们知道new可以调用构造函数创建一个对象,那么new尚有什么别的语法吗?

3、base这个关键字有哪几种语法?override呢?ﻫ4、请指出C#中是否有下列关键字?virtual、sealed、abstract、import、as、in、goto、final、Const、signed、String(提醒,仅指出C#中没有的即可)(难度系数50%)。

5、在循环:for(inti=0;i<100;i++)Console.WriteLine(i);中,请指出i++的执行时机。ﻫ6、试说明continue关键字的用处。ﻫ7、object是C#的关键字吗?请指出C#中有哪些类型关键字,如int、float。(提醒,写得越多越好)。ﻫ8、C#的XML文档注释中(以///开头的注释),<summary>标签用于描述什么?<param>标签呢?ﻫ9、我们知道[]是数组和索引器的访问操作符,但它尚有一个语法,是什么?1、delegate引用类型,enum值类型,int[]引用类型,string引用类型。

2、隐藏基类相同署名方法,假如在C#2.0中则还作为泛型构造函数约束。

3、base两个语法,分别是调用基类构造函数和调用基类方法,override用于重写基类方法。ﻫ4、没有的关键字:import、final、Const、signed、Stringﻫ5、在Console.WriterLine(i);执行之后

6、立即开始下一次循环,忽略循环体余下的语句ﻫ7、是,object、int、uint、long、ulong、short、ushort、byte、sbyte、char、float、double、decimal、bool,如回答:enum、struct、class、delegate也算对。

8、<summary>用于某个元素的概要说明,<param>用于某个方法的参数概要说明。ﻫ9、特性(Attribute)ﻫ三、Web进阶知识(javascript、DOM、CSS进阶):

1、试图说明setTimeout和setInterval的不同。

1、setTimeout在通过指定期间后执行一次,setInterval则是通过指定期间就执行一次。

ﻫ2、请指出body是什么元素的属性,alert是什么元素的方法。ﻫ2、window.document、windowﻫﻫ3、onblur事件在什么时机被触发?onmouseover事件当鼠标在元素上移动时是仅触发一次还是连续触发?那么onmouseout呢?ﻫ3、onblur在控件失去焦点时触发,onmouseover是连续触发,onmouseout仅触发一次。

ﻫ4、在CSS中a:hover、a:link各表达什么意思?a与A是否有不同?XHTML规范规定所有标署名称必须大写还是小写?属性名称呢?ﻫ4、a:hover表达当鼠标放在连接上时,连接该使用什么样式,a:link表达正常情况下连接该使用什么样式,在现行的CSS标准中不区分大小写,所以a与A没有不同。XHTML规定所有的标署名和属性名都必须小写。

5、在<form>中的元素不能在脚本中直接用元素ID来访问,这个时候我们一般用document的一个方法来获取这个元素。这个方法是:5、getElementByIdﻫﻫgetElementByID、getElementById、getNodeById、getNodeByID、GetNodeById。ﻫ6、由于class是javascript中的保存字,所以元素的class属性在javascript中没有用class这个名称,那么是用什么名称来代替的?

6、className

ﻫ7、如何简朴的使一个变量的值为NaN?ﻫ7、a=1/0;ﻫ

8、试说明parent和opener属性各代表什么?ﻫ8、parent代表父框架,opener代表打开这个窗口的窗口

ﻫ9、指出border-style样式在javascript应如何访问?

9、element.style.borderStyleﻫﻫ10、指出div与span的不同。ﻫ10、默认的display样式不同,div是block而span是inline;ﻫ第五大题考泛型的题目没有人做出来了:五、.NETFramework2.0/C#2.0语法知识考察,C#高级语法考察(泛型及泛型技巧、匿名方法及其技巧)ﻫ1、看函数代码,然后回答问题(难度系数80%):

publicstaticT[]SomeMethod<T>(Tvalue,intsize)

{

T[]arr=newT[size];

for(inti=0;i<size,i++)ﻫ

arr[i]=value;

returnarr;

}ﻫ试阐述这个函数的作用。ﻫ请问,这样调用这个函数有没有问题,如有问题,有何问题?

long[]result=SomeMethod(1,20);2、看代码,然后指出在各种调用中返回值为什么种类型(难度系数85%):ﻫ

publicclassMyClass<K,V>ﻫ

{

publicVthis[Kkey]ﻫ

{ﻫ

get

{ﻫ

thrownewNotImplementedException();ﻫ

}

}

publicclassMyClassﻫ

{

publicstaticT[]MyMethod1<T>(Targ)ﻫ

{ﻫ

thrownewNotImplementedException();

}

publicstaticKMyMethod2<K,V>(Vvalue,MyClass<K,V>dictionary)ﻫ

{ﻫ

thrownewNotImplementedException();ﻫ

}ﻫMyClass<int,string>instance=newMyClass<int,string>();???result=MyClass.MyMethod1(MyClass.MyMethod2(instance[0],instance));//请指出返回类型3、看代码,然后指出在各种调用中返回值为什么种类型(难度系数90%):ﻫpublicclassMyClass<K,V>

{ﻫ

publicVthis[Kkey]

{ﻫ

getﻫ

{ﻫ

thrownewNotImplementedException();ﻫ

}ﻫ

}ﻫ}publicclassMyClass

{

publicstaticMyClass<V,K>MethodA<K,V>(MyClass<K,V>dictionary)ﻫ

{ﻫ

thrownewNotImplementedException();

}

publicstaticMyClass<MyClass<T,V>,K>MethodB<K,V,T>(MyClass<K,V>dictionary,T[]arg)ﻫ

{ﻫ

thrownewNotImplementedException();

}

publicstaticMyClass<K,V[]>MethodC<K,V>(MyClass<K,V>dictionary)

{ﻫ

thrownewNotImplementedException();

}ﻫ}???obj=MyClass.MethodA(MyClass.MethodB(instance,MyClass.MethodC(instance)[0]))[0];//请指出返回类型。ﻫ1.将手机号转化为由随机字母表达?ﻫ2.描述数据适配器中的多表查询?

3.调用存储过程及返回值的提取?

4.SQL中游标的定义?

5.ASP.NET中,用手工的形式对字段进行数据绑定及分页方法?ﻫ6.有一人事表,计算两个同时入职的员工的生日的差,用一句SQL语句将EGTB1中的结果变成EGTB2的结果?ﻫField_AField_BField_C

User12023-10-261981-01-01

User22023-10-261976-01-01

………Field_BName_1Name_2Field_4

2023-10-26User1User21825ﻫ…………ﻫﻫ产品表销售计划表

ProductID产品名单价ProductID客户名订货数量销售单价ﻫ1name11102m2250

2name22201n3110

3name33303n1300ﻫ4name44404m24001.是否能删除产品表中的name2?请说明理由与过程。

2.将销售计划表中m客户的产品名为name2的销售单价更换为产品表中相应的单价

3.求销售计划表中各客户各自的销售总金额的sql语句

4.求客户中销售总量最大的销售总金额的客户的sql语句

5.什么是事务(transaction)?它有什么好处。

6.updatetable2...数据库为默认设立能不能开始事务?为什么。ﻫ7.B/S系统一般分为几层?请说明理由.

8.说说ADO.NET中几个数据库解决的核心对象。Question31.(单选)

根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?publicvoidtest(inti)

{ﻫlock(this)ﻫ{ﻫif(i>10)ﻫ{

i--;

test(i);ﻫ}ﻫ}

}1.会锁死ﻫ2.不会锁死Question32.(单选)以下描述错误的是()1.在C++中支持抽象类而在C#中不支持抽象类。

2.C++中可在头文献中声明类的成员而在CPP文献中定义类的成员,在C#中没有头文献并且在同一处声明和定义类的成员。

3.在C#中可使用new修饰符显式隐藏从基类继承的成员。

4.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。ﻫ

Question33.(单选)int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};myArray3[2][2]的值是()。1.9

2.2ﻫ3.6ﻫ4.越界ﻫﻫQuestion34.(单选)在C#中运用Socket进行网络通信编程的一般环节是:建立Socket侦听、()、运用Socket接受和发送数据。1.建立Socket连接ﻫ2.获得端标语;ﻫ3.获得IP地址;ﻫ4.获得主机名;

ﻫQuestion35.(单选)假如设treeView1=newTreeView(),TreeNodenode=newTreeNode("根结点"),则treeView1.Nodes.Add(node)返回的是一个()类型的值。1.TreeNode;ﻫ2.int;

3.string;

4.TreeView;ﻫ

Question36.(单选)声明一个委托publicdelegateintmyCallBack(intx);则用该委托产生的回调方法的原型应当是

温馨提示

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

评论

0/150

提交评论