net面试题一.docx
《net面试题一.docx》由会员分享,可在线阅读,更多相关《net面试题一.docx(33页珍藏版)》请在冰豆网上搜索。
![net面试题一.docx](https://file1.bdocx.com/fileroot1/2023-1/27/ffacee32-ce0a-4acd-b3e8-40a274a44f02/ffacee32-ce0a-4acd-b3e8-40a274a44f021.gif)
net面试题一
∙2015.Net 面试题答案
1
(1)面向对象的语言具有_封装__性、多态__性、继承_性。
(2)能用foreach遍历访问的对象需要实现_IEnumerable接口或声明_GetEnumerator方法的类型。
1.c#中的三元运算符是_?
:
___
2.当整数a赋值给一个object对象时,整数a将会被__封装___?
3.类成员有__3__种可访问形式?
4.publicstaticconstintA=1;这段代码有错误么?
是什么?
有,被定义为const的不用在加static了
5.floatf=-123.567F;
inti=(int)f;
i的值现在是__-123___?
6.利用operator声明且仅声明了==,有什么错误么?
要同时修改Equale和GetHash()?
既然重载了==就还要重载!
=
7.委托声明的关键字是__delegate__?
8.用sealed修饰的类有什么特点?
不能继承
9.在A中所有的自定义用户控件都必须继承自_collection_______?
10.在.Net中所有可序列化的类都被标记为_serializable___?
11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了gc_?
12.下面的代码中有什么错误吗?
usingSystem;
classA
{
publicvirtualvoidF(){
Console.WriteLine(“A.F“);
}
}
abstractclassB:
A
{
publicabstractoverridevoidF();
}
抽象类不能继承明确构造函数的类
13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以or不可以)从T派生出新的类,_不可以_(可以or不可以)直接创建T的任何实例。
14.下面这段代码有错误么?
switch(i){
case():
CaseZero();
break;
case1:
CaseOne();
break;
case2:
dufault;
CaseTwo();
break;
}
有,Dufault出错
15.在.Net中,类System.Web.UI.Page可以被继承么?
可以
二.不定项选择:
1.以下叙述正确的是:
Bc
A.接口中可以有虚方法。
B.一个类可以实现多个接口。
C.接口不能被实例化。
D.接口中可以包含已实现的方法。
(2)从数据库读取记录,你可能用到的方法有:
bcD
A.ExecuteNonQueryB.ExecuteScalarC.FillD.ExecuteReader
2.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?
(多选)(abc)
A.CloseB.DisposeC.Finalize
D.usingE.Quit
3.以下关于ref和out的描述哪些项是正确的?
(多选)(C,D,A)
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
1.在对SQLServer数据库操作时应选用(A)。
a)SQLServer.NETFramework数据提供程序;
b)OLEDB.NETFramework数据提供程序;
c)ODBC.NETFramework数据提供程序;
d)Oracle.NETFramework数据提供程序;
2.下列选项中,(C)是引用类型。
a)enum类型b)struct类型c)string类型d)int类型
3.关于ASP.NET中的代码隐藏文件的描述正确的是(c)
a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。
编程逻辑唯一与用户界面不同的文件中。
该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。
b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。
c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
d)以上都不正确。
4.以下描述错误的是(A)
a)在C++中支持抽象类而在C#中不支持抽象类。
b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用new修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
5.C#的数据类型有(B)
a)值类型和调用类型;b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型;
6.下列描述错误的是(D)
a)类不可以多重继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
7.在DOM中,装载一个XML文档的方法(b)
a)save方法b)load方法c)loadXML方法d)send方法
8.下列关于构造函数的描述正确的是(c)
a)构造函数可以声明返回类型。
b)构造函数不可以用private修饰
c)构造函数必须与类名相同
d)构造函数不能带参数
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)9b)2c)6d)越界
11.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。
a)方法、属性、索引器和事件;b)方法、属性信息、属性;c)索引器和字段;d)事件和字段;
12.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。
服务器控件有两种类型,它们是(A)
a)HTML控件和Web控件b)HTML控件和XML控件c)XML控件和Web控件d)HTML控件和IIS控件
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)正确地创建了一个与SQLServer2000数据库的连接。
a)SqlConnectioncon1=newConnection(“DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB”);
b)SqlConnectioncon1=newSqlConnection(“DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB”);
c)SqlConnectioncon1=newSqlConnection(DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB);
d)SqlConnectioncon1=newOleDbConnection(“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)。
a)窗体没有边框并不能调整大小;b)窗体没有边框但能调整大小;
c)窗体有边框但不能调整大小;d)窗体是透明的;
19.如果要将窗体设置为透明的,则(B)
a)要将FormBoderStyle属性设置为None;b)要将Opacity属性设置为小于100%得值;
c)要将locked属性设置为True;d)要将Enabled属性设置为True;
20.下列关于C#中索引器理解正确的是(D)
a)索引器的参数必须是两个或两个以上b)索引器的参数类型必须是整数型
c)索引器没有名字d)以上皆非
21.下面描述错误的是(CD)。
a)窗体也是控件;b)窗体也是类;c)控件是从窗体继承来的;d)窗体的父类是控件类;
22.要对注册表进行操作则必须包含(D)。
a)System.ComponentModel命名空间;b)System.Collections命名空间;
c)System.Threading命名空间;d)Microsoft.Win32命名空间;
23.要创建多文档应用程序,需要将窗体的(D)属性设为true。
a)DrawGrid;b)ShowInTaskbar;c)Enabled;d)IsMdiContainer;
24.如果设treeView1=newTreeView(),则treeView1.Nodes.Add(“根节点“)返回的是一个(D)类型的值。
a)TreeNode;
b)int;
c)string;
d)TreeView;
25.下面关于XML的描述错误的是(D)。
a)XML提供一种描述结构化数据的方法;
b)XML是一种简单、与平台无关并被广泛采用的标准;
c)XML文档可承载各种信息;
d)XML只是为了生成结构化文档;
1.装箱、拆箱操作发生在:
(C)
A.类与对象之间B.对象与对象之间
C.引用类型与值类型之间D.引用类型与引用类型之间
2.用户类若想支持Foreach语句需要实现的接口是:
(A)
A.IEnumerableB.IEnumerator
C.ICollectionD.ICollectData
3..NetFramework通过什么与COM组件进行交互操作?
(C)
A.SideBySideB.WebService
C.InteropD.PInvoke
4..Net依靠以下哪一项技术解决COM存在的DllHell问题的?
(A)
A.SideBySideB.Interop
C.PInvokeD.COM+
5.装箱与拆箱操作是否是互逆的操作?
(B)
A.是B.否
6.以下哪个是可以变长的数组?
(D)
A.ArrayB.string[]
C.string[N]D.ArrayList
7.用户自定义异常类需要从以下哪个类继承:
(A)
A.ExceptionB.CustomException
C.ApplicationExceptionD.BaseException
8.以下代码段中能否编译通过?
请给出理由。
try
{
}
catch(FileNotFoundExceptione1)
{
}
catch(Exceptione2)
{
}
catch(IOExceptione3)
{
}
catch
{
}
Exception以捕获所有异常
9.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?
(多选)(abc)
A.CloseB.DisposeC.Finalize
D.usingE.Quit
10.Net依赖以下哪项技术实现跨语言互用性?
(c)
A.CLRB.CTSC.CLSD.CTT
11.请问:
String类与StringBuilder类有什么区别?
为什么在.Net类库中要同时存在这2个类?
(简答)
String对于大量的修改或删除操作没有StringBuilder好
12.以下哪个类是int的基类?
(B)
A.Int32B.ObjectC.ValueTypeD.Int16
二、C#部分*
1.以下哪些可以作为接口成员?
(多选)(ABDE)
A.方法B.属性C.字段D.事件E.索引器
F.构造函数G.析构函数
2.以下关于ref和out的描述哪些项是正确的?
(多选)(ACD)
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
3.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?
(D)
A.publicB.protectedC.internalD.protectedinternal
4.classClass1
{
privatestaticintcount=0;
staticClass1()
{
count++;
}
publicClass1()
{
count++;
}
}
Class1o1=newClass1();
Class1o2=newClass1();
请问,o1.Count的值是多少?
(C)
A.1B.2C.3D.4
5.abstractclassBaseClass
{
publicvirtualvoidMethodA()
{
}
publicvirtualvoidMethodB()
{
}
}
classClass1:
BaseClass
{
publicvoidMethodA(stringarg)
{
}
publicoverridevoidMethodB()
{
}
}
classClass2:
Class1
{
newpublicvoidMethodB()
{
}
}
classMainClass
{
publicstaticvoidMain(string[]args)
{
Class2o=newClass2();
Console.WriteLine(o.MethodA());
}
}
请问,o.MethodA调用的是:
(A)
A.BaseClass.MethodAB.Class2.MethodA
C.Class1.MethodAD.都不是
6.请叙述属性与索引器的区别。
索引器通过标签识别,
7.请叙述const与readonly的区别。
编译是常量,运行时常量
8.您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。
所有的用户都存在于AllWin这个域中。
您想要使用下列认证规则来配置这个应用程序:
a、匿名用户不允许访问这个应用程序。
b、所有雇员除了Tess和King都允许访问这个应用程序。
请问您应该使用以下哪一个代码段来配置这个应用程序?
(A)
A.〈authorization〉
〈denyusers=”allwintess,allwinking”〉
〈allowusers=”*”〉
〈denyusers=”?
”〉
〈/authorization〉
B.〈authorization〉
〈allowusers=”*”〉
〈denyusers=”allwintess,allwinking”〉
〈denyusers=”?
”〉
〈/authorization〉
C.〈authorization〉
〈denyusers=”allwintess,allwinking”〉
〈denyusers=”?
”〉
〈allowusers=”*”〉
〈/authorization〉
D.〈authorization〉
〈allowusers=”allwintess,allwinking”〉
〈allowusers=”*”〉
〈/authorization〉
E.〈authorization〉
〈allowusers=”*”〉
〈denyusers=”allwintess,allwinking”〉
〈/authorization〉
9.您要创建一个显示公司员工列表的应用程序。
您使用一个DataGrid控件显示员工的列表。
您打算修改这个控件以便在这个Grid的Footer显示员工合计数。
请问您应该怎么做?
(C)
A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。
B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。
C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。
D.重写OnLayout事件,当Grid的Footer行被创建时显示合计数。
10.您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。
您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。
您想要花最小的代价完成这些目标,您应该怎么做?
(多选)(CD)
A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
B.在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。
E.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET代码错误。
F.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NETHTTP错误。
11.您的公司有一个DBServer,名为AllWin,其上装了MSSQLSERVER2000。
现在需要您写一个数据库连接字符串,用以连接AllWin上SQLSERVER中的一个名为PubBase实例的Test库。
请问,应该选择下面哪一个字符串?
(B)
A.“Server=AllWin;DataSource=PubBase;InitialCatalog=Test;IntegratedSecurity=SSPI”
B.“Server=AllWin;DataSource=PubBase;Database=Test;IntegratedSecurity=SSPI”
C.“DataSource=AllWinPubBase;InitialCategory=PubBase;IntegratedSecurity=SSPI”
D.“DataSource=AllWinPubBase;Database=Test;IntegratedSecurity=SSPI”
12.您为AllWin公司创建了一个ASP.NET应用程序。
这个应用程序调用一个XmlWebService。
这个XmlWebService将返回一个包含了公司雇员列表的DataSet对象。
请问您该如何在这个程序中使用这个XmlWebService?
()
A.在“引用”对话框的