网上面试题 疑惑
1,根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写: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 );
在这题中 OnDBOperate委托无参数 但是答案中OnNew( this, e ); 有参数 不对吧
2, 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);
}
当使用new B()创建B的实例时,产生什么输出?
答:X=1,Y=0;x= 1 y = -1
应该是 x=1,y=0
3,String s = new String("xyz");创建了几个String Object?
答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
编译都不能通过 何来对象????
上面3题 网上随处可见 答案都一样; 求解释 --------------------编程问答-------------------- 1.event的委托是预定义的EventHandler...
2.最基础的多态...
3.没有这个重载,这是java语法...就算有,在.NET中对象一词指实例...
这种题都不会说明你门都没入,离面试还远得很...这类题也不适合面试,最多能当专业课前几周的学生作业...
补充:.NET技术 , C#