C_语法试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、delegate是引用类型还是值类型?enum、int[]和string呢?
delegate引用类型,enum值类型,int[]引用类型,string引用类型。
2、我们知道new可以调用构造函数创建一个对象,那么new还有什么别的语法吗?
答:有3种,第一种是,实例化如:New Class()
第二种是,public new 隐藏基类的方法
第三种是,在泛型类申明中的任何类型参数都必须有公共的无参构造函数。
3、base这个关键字有哪几种语法?override呢?
base两个语法,分别是调用基类构造函数和调用基类方法,override用于重写基类方法。
4、在循环:for( int i = 0; i < 100; i++ ) Console.WriteLine( i );中,请指出i++的执行时机。
在Console.WriterLine( i );执行之后
5、请你说说.NET中类和结构的区别?
答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是引用类型,改变其变量的值会改变其原值。申明结构用Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。
6、接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?
答:接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类。
7、构造方法是否可以被继承?是否可以被Override?
构造方法不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading).
8、是否可以继承String类?
9、数组有没有Length()这个方法?string有没有这个方法?
10、C#中委托是什么?事件是不是一种委托?
委托是一种安全的类似与函数指针,但是她比指针要安全的多,它可以把方法作为一个参数传递
给另一个方法,可以理解为指向函数的引用。事件是一种消息机制,它是一种委托,委托不带方法体。
11、Override, Overload,的区别?
Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数
个数要与基类相同。
Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。
12、C#中索引器实现过程中,是否只能根据数字索引?
答:不是的,可以是任意类型。
13、任何把一个Array复制到Arraylist中?
Foreach (object o in Array), ArrayList.Add (0)
14、值类型和引用类型的区别?
15、面向对象的三大基本原则?
16、Heap与stack的差别?
Heap是堆,stack是栈。
Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
Stack空间有限,Heap是很大的自由存储区
17、如何理解.net中的垃圾回收机制?
答:.NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。
18、在.NET中所有类的基类是?
19、静态方法和实例方法的区别?
20、C#中共有几个常用访问修饰符,并说出每个访问修饰符的范围
21、用方法重载计算机三角形、长方形、圆形的周长
22、构造方法和析构方法的用途
23、C#支持多重继承么?用什么技术实现多重继承
24、Virtual和abstract的异同
虚函数是在普通类里定义的,可以在普通类里实现抽象方法。
virtual只能在普通类中使用,abstract后者只能在抽象类中使用.
虚方法可以有实现体,抽象类不能有实体的。
二者都需要使用override来重写才能实现抽象机制。
二者的访问修饰符都不能是私有的(抽象类中默认的访问修饰符也是私有的),并且都不能是静态方法。
25、如何解决接口继承时的同名方法冲突的问题
26、以下关于ref和out的描述哪些项是正确的?(多选) ( )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参
数的参数必须最先初始化。 C.使用ref参数,必须将参数作为ref参数显式传递到方法。 D.
使用out参数,必须将参数作为out参数显式传递到方法。
27、在接口中可以声明(),但不可以声明公有的或私有的成员变量
a)方法、属性、索引器和事件 b)方法、属性信息、属性; c)索引器和字段;d)事件和字段;
28、public static const int A=1;这段代码有错误么?是什么
29、装箱、拆箱操作发生在: ( )
A.类与对象之间
B.对象与对象之间
C.引用类型与值类型之间
D.引用类型与引用类型之间
30、用sealed修饰的类有什么特点
31、c#中几种流程控制语句?分别距离说明逻辑原理;几种循环,并指出他们的不同
33、有几种类型转换的方式,分别举例32、定义一个枚举
34、C#中的接口和类有什么异同。35、CLR与IL分别是什么含义