C#复习资料 下载本文

内容发布更新时间 : 2024/7/1 2:55:25星期一 下面是文章的全部内容请认真阅读。

一、

1、 定义一个事件,需要使用的关键字是() event

2、 在类的成员中,用于存储数据的是() 字段

3、 类的以下特性中,可以用于方便地重用已有的代码和数据的是() 继承

4、装箱、拆箱操作发生在:() 引用类型与值类型之间

5、 有关抽象类和抽象方法,下面哪种说法是错误的?() 抽象方法实现由static方法提供 6、 关于接口哪个正确? 一个类可以实现多个接口

7、下列关于重载的说法,错误的是()

方法可以通过指定不同的返回值类型重载

8、下列选项中,()是引用类型。 数组类型

9.关于继承的说法正确的是: 子类将继承父类的非私有成员

10、 下列可以在命名空间中单独定义的是() 委托

11、 关于多态,下列说法错误的是() 父类方法可以使用关键字new

12、下列关于C#中索引器理解正确的是()

索引器用this关键字定义 13、抽象方法()

是没有方法体的方法 14、下列描述错误的是()

一个类可以有多个基类和实现多个接口 15、 out函数参数是()的参数

按地址传递,形参与实参共用一个内存区域

16、 声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是() int receive(int num)

17、下面有关构造函数的说法,不正确的有 () 构造函数可访问域必须是public

18、下列对文件处理描述正确的是()

可以创建FileInfo类的实例来管理文件

19、以下程序的的输出结果是() int a = 3, b = 4; bool c = a < 3;

int d = !(a > b) || c ? --a : ++b; Console.Write(d); 2

20、以下关于while和do…while描述正确的是() do…while循环体至少执行一次 二、

1、 关于委托与事件,以下说法正确的有() 事件处理方法的定义需与委托类型的签名一致 事件是一种特殊的多播委托

2、 以下属于隐式类型转换的有()

short a = 1;int b = a; object o = new Button();

3、以下关于使用static关键字定义静态方法的说法正确的是()

类的静态方法可以访问静态成员,不可以直接访问实例成员 类的非静态方法可以访问静态成员,也可以访问实例成员 4、以下类成员的可访问域正确的有()

public internal protected private

5、以下数组定义正确的是()

int [] array = {1,2,3,4} int [] array = new int[]{1,2,3,4} int [] array = new int[4]{1,2,3,4} 编程

abstract class Employee {

protected string id; protected string name; protected int baseSalary;

public Employee(string _id, string _name, int _baseSalary) {

id = _id;

name = _name;

baseSalary = _baseSalary; }

public abstract int getMontySalary(); public string getInfo() {

return \工号:\姓名:\月薪:\

} }

class Manager : Employee {

protected string post;

protected int postAllowance;

public Manager(string _id, string _name, int _baseSalary, string _post, int _postAllowance)

: base(_id, _name, _baseSalary) {

post = _post;

postAllowance = _postAllowance; }

public override int getMontySalary() {

return baseSalary + postAllowance; } }

class Ordinary : Employee {

protected int monthAllowance;

public Ordinary(string _id, string _name, int _baseSalary, int _monthAllowance) : base(_id, _name, _baseSalary) {

monthAllowance = _monthAllowance; }

public override int getMontySalary() {

return baseSalary + monthAllowance; } }

class Company {

private Employee[] employees;

public Company(Employee[] _employees) {

employees = _employees; }

public void getCompanyInfo() {

foreach (Employee e in employees) {