c#面试笔试题(一)

2019-04-14 19:58发布

一.填空题 1.c#中的三元运算符是_____? 2.当整数a赋值给一个object对象时,整数a将会被_____? 3.类成员有_____种可访问形式? 4.public static const int A=1;这段代码有错误么?是什么? 5.float f=-123.567F; int i=(int)f; i的值现在是_____? 6.利用operator声明且仅声明了==,有什么错误么? 7.委托声明的关键字是______? 8.用sealed修饰的类有什么特点? 9.在Asp.net中所有的自定义用户控件都必须继承自________? 10.在.Net中所有可序列化的类都被标记为_____? 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______? 12.下面的代码中有什么错误吗?_______ using System; class A { public virtual void F(){ Console.WriteLine("A.F"); } } abstract class B:A { public abstract override void F(); } 13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,______(可以 or 不可以)从T 派生出新的类,____(可以 or 不可以)直接创建T的任何实例。 14.下面这段代码有错误么? switch (i){ case(): CaseZero(); break; case 1: CaseOne(); break; case 2: dufault; CaseTwo(); break; } 15.在.Net中,类System.Web.UI.Page 可以被继承么? 二.简答题 1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? 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的实例时,产生什么输出? 3.下面的例子中 using System; class A { public static int X; static A(){ X=B.Y+1; } } class B { public static int Y=A.X+1; static B(){} static void Main(){ Console.WriteLine("X={0},Y={1}",A.X,B.Y); } } 产生的输出结果是什么? 4.谈谈类和结构的区别? 5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程 序来实现。 6.对于这样的一个枚举类型: enum Color:byte{ Red, Green, Blue, Orange } 试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。 7.您了解设计模式么?请列出您所知道的设计模式的名称。 8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容 需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路? 9.什么叫做SQL注入,如何防止?请举例说明。 10.下面这段代码输出什么?为什么? int i=5; int j=5; if (Object.ReferenceEquals(i,j)) Console.WriteLine("Equal"); else Console.WriteLine("Not Equal");   答案: 1 ?: 2 装箱 3 3种 4 const成员都是static所以应该去掉static 5 -123 6 要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!=" 7 delegate 8 不可被继承 9 System.Web.UI.UserControl 10 [serializable] 11 gC 12 abstract override 是不可以一起修饰 13 不可以,不可以 14 case():不行 default; 15 可以 1 Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对 像,或修饰一个方法,表此方法完全重写此方法, 2 X=1,Y=0 3 x=1,y=2 4 最大区别一个是引用类型,一个是值类型 默认成员访问为public是另外一个区别