ASP面试题.docx
《ASP面试题.docx》由会员分享,可在线阅读,更多相关《ASP面试题.docx(28页珍藏版)》请在冰豆网上搜索。
ASP面试题
第三套
D
A
C
C
C
6调试某程序时,代码编辑视图的状态如下:
现在打开调试窗口中的"This窗口",则可以看到下列哪些信息?
()
A变量tmp的值B函数printInfo的地址C变量m_Info的值D数组args的值
C
A
C
D
10在类MyClass中定义下列域和方法:
privateintdata;
voidShowInformation()
{
stringdata="thisisaJOKE!
";
//代码
}
现在需要编写代码在ShowInformation中将MyClass当前对象的data域赋值为100。
正确的语句为:
()。
Ame.data=100Bself.data=100Cthis.data=100Ddata=100;
C
11某程序的Main函数定义如下,启动"调试"后,代码编辑视图的状态如下:
现在打开调试窗口中的"This窗口",VisualStudio.NET调试窗口如下:
则在This窗口中,会提示什么信息?
()
A局部变量str及其值,成员变量m_Name及其值
B成员变量m_Name及其值
C无内容
D局部变量str及其值
C
12在C#程序中,下列结构MyStruct中构造函数的定义是否合法?
()
publicstructMyStruct
{
stringmsg;
MyStruct()
{
msg="initStructure";
}
}
A合法B不合法
B
B
14下列类MyClass的定义是否合法?
()(提示:
注意两个基类的访问修饰符的不同)
internalclassBase
{
}
publicclassMyClass:
Base
{
}
A合法B不合法
B
15下列类MyClass的定义是否合法?
()(提示:
注意两个基类的访问修饰符的不同)
publicclassBase
{
}
internalclassMyClass:
Base
{
}
A合法B不合法
A
16某程序的代码编辑状态如下:
已知Main函数内设置了一个断点,以便进行调试.根据上图判断,该断点在哪一行处?
()
ASystem.Console.WriteLine("ProgramExit!
");
Bx.printInfo();
CClass1x=newClass1();
DstaticvoidMain(string[]args)
C
17分析以下程序.注意静态构造函数内使用的赋值语句为counter=0.
publicclassstaticClass
{
staticprivateint_counter;
//私有构造函数防止对象生成
privatestaticClass(){}
//静态构造函数
staticstaticClass()
{
counter=0;
Console.Write("init!
");
}
staticpublicintcounter
{
get{Console.Write("get!
");return_counter;}
set{Console.Write("set!
");_counter=value;}
}
}
则调用语句ClassLibrary1.staticClass.counter=100;的输出是().
Ainit!
set!
Bset!
init!
Cset!
Dset!
init!
set!
D
18分析下列程序:
publicinterfaceBaseInterface{
voidShowClassName();
}
publicabstractclassBaseAbstractClass:
BaseInterface{
abstractpublicvoidShowClassName();
}
publicclassMyClass1:
BaseAbstractClass{
publicoverridevoidShowClassName(){
Console.WriteLine("inMyClass1");
}
}
publicclassMyClass2:
MyClass1{
publicoverridevoidShowClassName(){
Console.WriteLine(“inMyClass2");
}
}
则下列语句的输出是什么?
()
BaseInterfacex=newMyClass2();
x.ShowClassName();
AinMyClass1;inMyClass2;BinMyClass2;CinMyClass1;
D无输出
B
C
20代理类型MyDelegate定义如下
publicdelegatevoidMyDelegate();
d1,d2,d3是代理MyDelegate的3个变量,并分别按照以下表进行了方法绑定:
代理变量调用列表
d1对象Tom的BeginWork()
对象Jerry的BeginWork()
d2对象Mike的BeginWork()
d3对象Mickey的BeginWork()
则执行下列语句,执行的结果如何?
()
d1=d2+d3;d1();
A调用Tom,Jerry,Mike,Mickey的BeginWork
B调用Mike,Mickey的BeginWork
C调用Mickey的BeginWork
D调用Tom,Jerry的BeginWork
B
21代理类型MyDelegate定义如下
publicdelegatevoidMyDelegate();
d1,d2,d3是代理MyDelegate的3个变量,并分别按照以下表进行了方法绑定:
代理变量调用列表
d1对象Tom的BeginWork()
对象Jerry的BeginWork()
d2对象Mike的BeginWork()
d3对象Mickey的BeginWork()
则执行下列语句,执行的结果如何?
()
d1+=d2+d3;d1();
A调用Tom,Jerry,Mike,Mickey的BeginWork
B调用Mike,Mickey的BeginWork
C调用Mickey的BeginWork
D调用Tom,Jerry的BeginWork
A
22代理类型MyDelegate定义如下
publicdelegatevoidMyDelegate();
d1,d2,d3是代理MyDelegate的3个变量,并分别按照以下表进行了方法绑定:
代理变量调用列表
d1对象Tom的BeginWork()
对象Jerry的BeginWork()
d2对象Mike的BeginWork()
d3对象Mickey的BeginWork()
则执行下列语句,执行的结果如何?
()
d1-=d2;d1();
A调用Tom,Jerry,Mike,Mickey的BeginWork
B调用Mike,Mickey的BeginWork
C调用Mickey的BeginWork
D调用Tom,Jerry的BeginWork
D
23代理类型MyDelegate定义如下
publicdelegatevoidMyDelegate();
类Base中定义了一个MyDelegate类型的事件WorkCompleted,如下:
//在MyClass类中的其它部分省略.
publiceventMyDelegateWorkCompleted;
假如已经为该事件绑定了若干事件响应方法,则为了激发此事件,可以在()的成员方法中调用以下语句?
WorkCompleted();
A任意对类Base有访问权的类
B类Base的派生类MyClass
C任意对代理类型MyDelegate有访问权的类
D类Base
A
24代理类型MyDelegate定义如下
publicdelegatevoidMyDelegate();
classMyClass{
publicvoidHello(){Console.WriteLine("Hello");}
}
classClass1{
privateeventMyDelegateDoSomthing;
voidtest(){
MyClassx=newMyClass();
//在此添加代码
}
}
则下列哪些语句可以替换Class1的"//在此添加代码",以将MyClass的Hello方法绑定到DoSomthing事件?
()
ADoSomthing=newMyDelegate(MyClass,Hello);
BDoSomthing=newMyDelegate(x.Hello);
CDoSomthing=MyClass.Hello;
DDoSomthing=x.Hello;
B
25某类MyClass定义了如下索引器
publicclassMyClass
{
string[]arr={"this","is","a","test!
"};//数据
publicstringthis[inti]//索引器
{
get{returnarr[i];}
}
//其他代码省略
}
另外,x为MyClass的一个对象.那么,以下foreach语句是否能够实现?
()
foreach(stringsinx)
{
Console.WriteLine(s);
}
A不能B能
B
B
B
B
C
D
B
A
B
C
A
D
B
B
D
B
A
B
B
44下列C#程序的异常处理try......catch代码块的组织顺序是否合适?
()(i是整数)
try{
i=1/i;//取倒数
}
catch(Exceptionex){
MessageBox.Show("出现异常");
}
catch(DivideByZeroExceptionex){
MessageBox.Show("出现零除异常");
}
catch(overflowExceptionex){
MessageBox.Show("溢出异常");
}
A合适B不合适
B
45分析下列C#语句,注意类subClass没有访问修饰符
namespaceClassLibrary1
{
internalclassMyClass
{
classsubClass
{
inti;
}
}
}
若必须为类subClass添加访问修饰符,并使subClass的可访问间域保持不变,则应选择()。
ApublicBinternalCprotectedDprivate
B
A
C
C
C
C