C#暑假作业答案

C#暑假作业

一、单项选择题

1.属于C#语言的关键字( )。

A. abstract B. camel C. Salary D. Employ

答案:A

2.C#语言中,值类型包括:基本值类型、结构类型和( )。

A.小数类型 B.整数类型 C.类类型 D.枚举类型

答案:D

3. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的(

A. int[]arr = new int[10,20]

B. int[]arr = int new[10,20]

C. int[,]arr = new int[10,20]

D. int[,]arr = new int[20;10]

答案:C

4.在类作用域中能够通过直接使用该类的( )成员名进行访问。

A. 私有 B. 公用 C. 保护 D. 任何

答案:D

5. 以下正确的描述是( )。

A. 函数的定义可以嵌套,函数的调用不可以嵌套

B. 函数的定义不可以嵌套,函数的调用可以嵌套

C. 函数的定义和函数的调用均可以嵌套

D. 函数的定义和函数的调用均不可以嵌套

答案:B

6.小数类型和浮点类型都可以表示小数,正确说法:( )

A. 两者没有任何区别

B. 小数类型比浮点类型取值范围大

C.小数类型比浮点类型精度高

D. 小数类型比浮点类型精度低

答案:C 。 )

7. 可用作C#程序用户标识符的一组标识符是( )。

A. void define +WORD B. a3_b3 _123 YN

C. for -abc Case D. 2a DO sizeof 答案:B

8.引用类型主要有4种:类类型、数组类型、接口类型和( )。

A.对象类型 B.字符串类型 C.委托类型 D.整数类型

答案:C

9.加载窗体时触发的事件是( )。

A. Click B.Load C.GotFoucs D.DoubleClick

答案:B

10.改变窗体的标题,需修改的窗体属性是( )。

A. Text B. Name C.Title D. Index

答案:A

11.在C#中,定义派生时,指定其基类应使用的语句是( )。

A.Inherits B.: C.Class D.Overrides

答案:B

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

A.多态 B.封装 C.继承 D.抽象

答案:C

13.在Array类中,可以对一维数组中的元素进行排序的方法是( )。

A.Sort() B.Clear() C.Copy() D.Reverse()

答案:A

14.将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。

A.Str() B.Cchar C.CStr() D.int.Parse();

答案:D

15.数据类型转换的类是( )。

A.Mod B.Convert C. Const D. Single

答案:B

16.在接口的成员中,不能包含( ).

A.属性 B.方法 C.事件 D.常量

答案:D

17.在C#中定义接口时,使用的关键字是( )。

A.interface B.: C.class D.overrides

答案:A

18、以下关于C#中方法重载的说法正确的是( )。(选择二项)

A.如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载

B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载

C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载

D.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载 答案:C D

19、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( )关键字。

A.override

B.new

C.static

D.virtual

答案:A

20、在.NET中,Hashtable类所在的命名空间是( )

A.System.Threadint

B.System.IO

C.System.Collections

D.System

答案:C

21.在C#中,可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在下列代码中,有( )处实现了拆箱。

int age = 5;

object o= age;

o=10;

age=(int)o;

object oAge =age;

A.0

B.1

C.2

D.3

答案:B

22、在C#中,下列代码的运行结果是()

Int[]num =new int[]{1,3,5};

ArrayList arr=new ArrayList();

For(int i=0;i

{ 选择一项) . (

arr.Add(num[i]);

}

arr.Insert(1,4);

console.Write(arr[2]);

A.1

B.3

C.4

D.5

答案:B

23、C#中关于委托,下面说法正确的是( )。(选择两项)

A.委托是一种类的成员

B.委托必须定义在类中

C.定义委托需要使用delegate关键字

D.委托是一种数据类型

答案:C D

24、下列关于C#的异常处理的说发法,错误的是()。(选择二项)

A.Try块必须跟catch块组合使用,不能单独使用

B.一个try块可以跟随多个catch块

C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常

D.在try „ catch „..finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally

答案:A D

25、在C#中,接口与抽象基类的区别在于( )。(选择一项)

A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法

B.抽象基类可以被实例化,而接口不能被实例化

C.抽象基类不能被实例化,而接口可以被实例化

D.抽象基类能够被继承,而接口不能被继承

答案:D

26、在.NET中,一些数据类型为引用类型,当引用类型的值为()时,表明没有引用任何对象。(选择一项)

A.Empty

B.null

C.Nothing

D.0

答案:B

27、在WinForm窗体中,放置了一个PictureBox 控件PictureBox1,在设置PictureBox1控件的Image 属性后,当图片与控件的大小不一致时,可以通过如下代码()使PictureBox1控件的大小与图片大小保持一致。

A.this.PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

B.this.PictureBox1.SizeMode = PictureBoxSizeMode.Normal;

C.this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

D.this.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage; 答案:A

28、在.NET的WinForms程序中,可以使用()对象来连接和访问数据库。

A.MDI

B.JIT

C.ADO.NET

D.System.ADO

答案:C

29、在WinForm应用程序中,可以通过以下( )方法使一个窗体成为MDI窗体。

A.改变窗体的标题信息

B.在工程的选项中设置启动窗体

C.设置窗体的IsMdiContainer属性

D.设置窗体的ImeMode属性

答案:C

30、WinForms程序中,如果复选框控件的 Checked属性值设置为 True,表示()。

A.该复选框被选中

B.该复选框不被选中

C.不显示该复选框的文本信息

D.显示该复选框的文本信息

答案:A

31、在C#中,下列代码的运行结果是()。

Int []num = new int[5]{1,3,2,0,0}

Array,Reverse(num);

Foreach(int I in num){

Console.Write(i);

}

A.00123

B.12300

C.00132

D.00231

答案:D

32、在C#中,( )访问修饰符修饰的变量只能由当前程序集访问。

A.public

B.protected

C.internal

D.private

答案:C

33、在ADO.NET中,下列代码运行后的输出结果是( )(选择一项)

DataTable dt=new DataTable();

dt.Columns.Add (“编号”,typeof(System.Int16));

dt.Columns.Add (“成绩”,typeof(System.Single));

Console.WriteLine(dt.Columns[1].DataType);

A.System.Int16;

B.System.Single

C.编号

D.成绩

答案:B

34、( )方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。

A.ExecuteNonQuery

B.ExecuteReader

C.ExecuteQuery

D.ExecuteScalar

答案:A

35、在ADO.NET中,下列关于DataSet类说法有误的是( )。(请选二项)

A.可以向DataSet的表集合中添加新表

B.DataSet中的数据发生改变之后,它会自动更新数据库中对应的数据

C.DataSet 就好象是内存中的一个“临时数据库”

D.DataSet 中的数据是只读的并且是只进的

答案:B D

36、在ADO.NET中,SqlConnection 类所在的命名空间是()。

A.System

B.System.Data

C.System.Data.OleDb

D.System.Data.SqlClient

答案: D

37、在C#中,下列常量定义正确的是()。

A.Const double PI 3.1415926;

B.Const double e=2.7

C.define double PI 3.1415926

D.define double e=2.7

答案: B

38、在C#中,一个类( ).

A.可以继承多个类

B.可以实现多个接口

C.在一个程序中只能有一个子类

D.只能实现一个接口

答案: B

39、程序运行过程中发生的错误,叫作( ).

A.版本

B.断点

C.异常

D.属性

答案: C

40、阅读以下的C#代码:

class A

{

public A( )

{

Console.WriteLine(

}

}

class B:A

{

public B()

{

Console.WriteLine(

}

}

class Program

{

public static void Main()

{

B b = new B();

Console.ReadLine();

}

}

上述代码运行后,将在控制台窗口输出()。

A. A

B. B

C. A B

D.B A

答案: C

二、填空题

1. 在switch语句中,每个语句标号所含关键字case后面的表达式必须

是 。

答案:常量表达式

2. 在while循环语句中,一定要有修改循环条件的语句,否则,可能造成 答案:死循环

3. C#数组元素的下标从

答案:0

4. 当在程序中执行到 答案:continue

5. 枚举是从类继承而来的类型。

答案:Enum

6.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。

答案:public或公有

7.类中声明的属性往往具有get()和两个函数。

答案:set()

8.对于方法,参数传递分为值传递和

答案:引用传递

9.在方法定义中,virtual。 答案:被virtual修饰的方法可以被子类覆写

10. 接口(interface)

答:只含有公有抽象方法(public abstract method)还可以包含属性、索引器、事件,而且这些成员都被定义为公有的。除此之外,不能包含任何其他的成员,例如:常量、域、构造函数、析构函数、静态成员。一个类可以直接继承多个接口,但只能直接继承一个类(包括抽象类)。的类。这些方法必须在子类中被实现。

三、问答题:

1、传入某个属性的set方法的隐含参数的名称是什么?

答:value,它的类型和属性所声名的类型相同。

2、如何在C#中实现继承?

答:在类名后加上一个冒号,再加上基类的名称。

3、C#支持多重继承么?

答:不支持。可以用接口来实现。

4、被protected修饰的属性/方法在何处可以访问?

答:在继承或间接继承与这个类的子类中可以访问。

5、私有成员会被继承么?

答:会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。

6、C#提供一个默认的无参数构造函数,当我实现了另外一个有一个参数的构造函数时候,还想保留这个无参数的构造函数。这样我应该写几个构造函数?

答:两个,一旦你实现了一个构造函数,C#就不会再提供默认的构造函数了,所以需要手动实现那个无参数构造函数。

7、C#中所有对象共同的基类是什么?

答:System.Object.

8、重载和覆写有什么区

答:重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。

9、在方法定义中,virtual有什么含意?

答:被virtual修饰的方法可以被子类覆写。

10、能够阻止某一个类被其他类继承么?

答:可以,使用关键字sealed.

11、能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?

答:可以,标记这个类为public,并标记这个方法为sealed.

12、什么是抽象类(abstract class)?

答:一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化。

13、何时必须声明一个类为抽象类?

答:当这个类中包含抽象方法时,或是该类并没有完全实现父类的抽象方法时。

14、接口(interface)是什么?

答:只含有共有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。

15、为什么不能指定接口中方法的修饰符?

答:接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。他们默认为公有方法。

16、可以继承多个接口么?

答:当然。

17、接口和抽象类的区别是什么?

答:接口中所有方法必须是抽象的,并且不能指定方法的访问修饰符。抽象类中可以有方法的实现,也可以指定方法的访问修饰符。

18、如何区别重载方法?

答:方法名称相同,不同的参数类型,不同的参数个数

19、const和readonly有什么区别?

答:const关键字用来声明编译时常量,readonly用来声明运行时常量。

20、System.String 和System.StringBuilder有什么区别?

答:System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。

21、C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符,请写出并指出它们之间的区别是什么?

答:

public 可以被任意存取

protected只可以被本类和其继承子类存取

internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。

protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。

private只可以被本类所存取。

C#暑假作业

一、单项选择题

1.属于C#语言的关键字( )。

A. abstract B. camel C. Salary D. Employ

答案:A

2.C#语言中,值类型包括:基本值类型、结构类型和( )。

A.小数类型 B.整数类型 C.类类型 D.枚举类型

答案:D

3. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的(

A. int[]arr = new int[10,20]

B. int[]arr = int new[10,20]

C. int[,]arr = new int[10,20]

D. int[,]arr = new int[20;10]

答案:C

4.在类作用域中能够通过直接使用该类的( )成员名进行访问。

A. 私有 B. 公用 C. 保护 D. 任何

答案:D

5. 以下正确的描述是( )。

A. 函数的定义可以嵌套,函数的调用不可以嵌套

B. 函数的定义不可以嵌套,函数的调用可以嵌套

C. 函数的定义和函数的调用均可以嵌套

D. 函数的定义和函数的调用均不可以嵌套

答案:B

6.小数类型和浮点类型都可以表示小数,正确说法:( )

A. 两者没有任何区别

B. 小数类型比浮点类型取值范围大

C.小数类型比浮点类型精度高

D. 小数类型比浮点类型精度低

答案:C 。 )

7. 可用作C#程序用户标识符的一组标识符是( )。

A. void define +WORD B. a3_b3 _123 YN

C. for -abc Case D. 2a DO sizeof 答案:B

8.引用类型主要有4种:类类型、数组类型、接口类型和( )。

A.对象类型 B.字符串类型 C.委托类型 D.整数类型

答案:C

9.加载窗体时触发的事件是( )。

A. Click B.Load C.GotFoucs D.DoubleClick

答案:B

10.改变窗体的标题,需修改的窗体属性是( )。

A. Text B. Name C.Title D. Index

答案:A

11.在C#中,定义派生时,指定其基类应使用的语句是( )。

A.Inherits B.: C.Class D.Overrides

答案:B

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

A.多态 B.封装 C.继承 D.抽象

答案:C

13.在Array类中,可以对一维数组中的元素进行排序的方法是( )。

A.Sort() B.Clear() C.Copy() D.Reverse()

答案:A

14.将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。

A.Str() B.Cchar C.CStr() D.int.Parse();

答案:D

15.数据类型转换的类是( )。

A.Mod B.Convert C. Const D. Single

答案:B

16.在接口的成员中,不能包含( ).

A.属性 B.方法 C.事件 D.常量

答案:D

17.在C#中定义接口时,使用的关键字是( )。

A.interface B.: C.class D.overrides

答案:A

18、以下关于C#中方法重载的说法正确的是( )。(选择二项)

A.如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载

B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载

C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载

D.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载 答案:C D

19、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( )关键字。

A.override

B.new

C.static

D.virtual

答案:A

20、在.NET中,Hashtable类所在的命名空间是( )

A.System.Threadint

B.System.IO

C.System.Collections

D.System

答案:C

21.在C#中,可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在下列代码中,有( )处实现了拆箱。

int age = 5;

object o= age;

o=10;

age=(int)o;

object oAge =age;

A.0

B.1

C.2

D.3

答案:B

22、在C#中,下列代码的运行结果是()

Int[]num =new int[]{1,3,5};

ArrayList arr=new ArrayList();

For(int i=0;i

{ 选择一项) . (

arr.Add(num[i]);

}

arr.Insert(1,4);

console.Write(arr[2]);

A.1

B.3

C.4

D.5

答案:B

23、C#中关于委托,下面说法正确的是( )。(选择两项)

A.委托是一种类的成员

B.委托必须定义在类中

C.定义委托需要使用delegate关键字

D.委托是一种数据类型

答案:C D

24、下列关于C#的异常处理的说发法,错误的是()。(选择二项)

A.Try块必须跟catch块组合使用,不能单独使用

B.一个try块可以跟随多个catch块

C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常

D.在try „ catch „..finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally

答案:A D

25、在C#中,接口与抽象基类的区别在于( )。(选择一项)

A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法

B.抽象基类可以被实例化,而接口不能被实例化

C.抽象基类不能被实例化,而接口可以被实例化

D.抽象基类能够被继承,而接口不能被继承

答案:D

26、在.NET中,一些数据类型为引用类型,当引用类型的值为()时,表明没有引用任何对象。(选择一项)

A.Empty

B.null

C.Nothing

D.0

答案:B

27、在WinForm窗体中,放置了一个PictureBox 控件PictureBox1,在设置PictureBox1控件的Image 属性后,当图片与控件的大小不一致时,可以通过如下代码()使PictureBox1控件的大小与图片大小保持一致。

A.this.PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

B.this.PictureBox1.SizeMode = PictureBoxSizeMode.Normal;

C.this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

D.this.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage; 答案:A

28、在.NET的WinForms程序中,可以使用()对象来连接和访问数据库。

A.MDI

B.JIT

C.ADO.NET

D.System.ADO

答案:C

29、在WinForm应用程序中,可以通过以下( )方法使一个窗体成为MDI窗体。

A.改变窗体的标题信息

B.在工程的选项中设置启动窗体

C.设置窗体的IsMdiContainer属性

D.设置窗体的ImeMode属性

答案:C

30、WinForms程序中,如果复选框控件的 Checked属性值设置为 True,表示()。

A.该复选框被选中

B.该复选框不被选中

C.不显示该复选框的文本信息

D.显示该复选框的文本信息

答案:A

31、在C#中,下列代码的运行结果是()。

Int []num = new int[5]{1,3,2,0,0}

Array,Reverse(num);

Foreach(int I in num){

Console.Write(i);

}

A.00123

B.12300

C.00132

D.00231

答案:D

32、在C#中,( )访问修饰符修饰的变量只能由当前程序集访问。

A.public

B.protected

C.internal

D.private

答案:C

33、在ADO.NET中,下列代码运行后的输出结果是( )(选择一项)

DataTable dt=new DataTable();

dt.Columns.Add (“编号”,typeof(System.Int16));

dt.Columns.Add (“成绩”,typeof(System.Single));

Console.WriteLine(dt.Columns[1].DataType);

A.System.Int16;

B.System.Single

C.编号

D.成绩

答案:B

34、( )方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。

A.ExecuteNonQuery

B.ExecuteReader

C.ExecuteQuery

D.ExecuteScalar

答案:A

35、在ADO.NET中,下列关于DataSet类说法有误的是( )。(请选二项)

A.可以向DataSet的表集合中添加新表

B.DataSet中的数据发生改变之后,它会自动更新数据库中对应的数据

C.DataSet 就好象是内存中的一个“临时数据库”

D.DataSet 中的数据是只读的并且是只进的

答案:B D

36、在ADO.NET中,SqlConnection 类所在的命名空间是()。

A.System

B.System.Data

C.System.Data.OleDb

D.System.Data.SqlClient

答案: D

37、在C#中,下列常量定义正确的是()。

A.Const double PI 3.1415926;

B.Const double e=2.7

C.define double PI 3.1415926

D.define double e=2.7

答案: B

38、在C#中,一个类( ).

A.可以继承多个类

B.可以实现多个接口

C.在一个程序中只能有一个子类

D.只能实现一个接口

答案: B

39、程序运行过程中发生的错误,叫作( ).

A.版本

B.断点

C.异常

D.属性

答案: C

40、阅读以下的C#代码:

class A

{

public A( )

{

Console.WriteLine(

}

}

class B:A

{

public B()

{

Console.WriteLine(

}

}

class Program

{

public static void Main()

{

B b = new B();

Console.ReadLine();

}

}

上述代码运行后,将在控制台窗口输出()。

A. A

B. B

C. A B

D.B A

答案: C

二、填空题

1. 在switch语句中,每个语句标号所含关键字case后面的表达式必须

是 。

答案:常量表达式

2. 在while循环语句中,一定要有修改循环条件的语句,否则,可能造成 答案:死循环

3. C#数组元素的下标从

答案:0

4. 当在程序中执行到 答案:continue

5. 枚举是从类继承而来的类型。

答案:Enum

6.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。

答案:public或公有

7.类中声明的属性往往具有get()和两个函数。

答案:set()

8.对于方法,参数传递分为值传递和

答案:引用传递

9.在方法定义中,virtual。 答案:被virtual修饰的方法可以被子类覆写

10. 接口(interface)

答:只含有公有抽象方法(public abstract method)还可以包含属性、索引器、事件,而且这些成员都被定义为公有的。除此之外,不能包含任何其他的成员,例如:常量、域、构造函数、析构函数、静态成员。一个类可以直接继承多个接口,但只能直接继承一个类(包括抽象类)。的类。这些方法必须在子类中被实现。

三、问答题:

1、传入某个属性的set方法的隐含参数的名称是什么?

答:value,它的类型和属性所声名的类型相同。

2、如何在C#中实现继承?

答:在类名后加上一个冒号,再加上基类的名称。

3、C#支持多重继承么?

答:不支持。可以用接口来实现。

4、被protected修饰的属性/方法在何处可以访问?

答:在继承或间接继承与这个类的子类中可以访问。

5、私有成员会被继承么?

答:会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。

6、C#提供一个默认的无参数构造函数,当我实现了另外一个有一个参数的构造函数时候,还想保留这个无参数的构造函数。这样我应该写几个构造函数?

答:两个,一旦你实现了一个构造函数,C#就不会再提供默认的构造函数了,所以需要手动实现那个无参数构造函数。

7、C#中所有对象共同的基类是什么?

答:System.Object.

8、重载和覆写有什么区

答:重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。

9、在方法定义中,virtual有什么含意?

答:被virtual修饰的方法可以被子类覆写。

10、能够阻止某一个类被其他类继承么?

答:可以,使用关键字sealed.

11、能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?

答:可以,标记这个类为public,并标记这个方法为sealed.

12、什么是抽象类(abstract class)?

答:一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化。

13、何时必须声明一个类为抽象类?

答:当这个类中包含抽象方法时,或是该类并没有完全实现父类的抽象方法时。

14、接口(interface)是什么?

答:只含有共有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。

15、为什么不能指定接口中方法的修饰符?

答:接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。他们默认为公有方法。

16、可以继承多个接口么?

答:当然。

17、接口和抽象类的区别是什么?

答:接口中所有方法必须是抽象的,并且不能指定方法的访问修饰符。抽象类中可以有方法的实现,也可以指定方法的访问修饰符。

18、如何区别重载方法?

答:方法名称相同,不同的参数类型,不同的参数个数

19、const和readonly有什么区别?

答:const关键字用来声明编译时常量,readonly用来声明运行时常量。

20、System.String 和System.StringBuilder有什么区别?

答:System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。

21、C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符,请写出并指出它们之间的区别是什么?

答:

public 可以被任意存取

protected只可以被本类和其继承子类存取

internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。

protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。

private只可以被本类所存取。


相关内容

  • 2011年暑假计算机专业实习报告
  • 读了三年的大学,然而大多数人对本专业的认识还是寥寥无几,在编程与软件测试周围缠绕不定,在大二期末学院曾要求我们做一个关于计算机行业前景研究的报告,但由于当时所学知识涉及本专业知识不多,所看到的东西与本专业根本就很难联系起来,在很多同学心里面对于本专业一直很茫然. 什么是计算机科学与技术?对于我们所选 ...

  • 第3章 关系数据库复习题
  • 第3章 关系数据库 一.单项选择题 1.某实体R 的外关键字是指_________. A .该实体除主关键字之外的另一个关键字 B .其它实体的关键字,同时作为R 的主属性 C .其它实体的关键字,同时作为R 的非主属性 D .其它实体的关键字,可以是R 中的主属性或非主属性 答案:D 2.若属性A ...

  • [C#程序设计基础入门教程]_习题答案
  • <C#程序设计基础入门教程>习题答案 第1章 C#开发入门 一.填空题 1. .dll. .exe 2. CLR 3. 编译.运行 4. 互操作性 5. Console.WriteLine() 二.选择题 1. C 2.B 3.C 4.A 5.D 三.问答题 1. 它是一个全新的.集成的 ...

  • 下列关于构造函数的描述正确的是(
  • ZHEJIANG WATER CONSERVANCY AND HYDROPOWER COLLEGE 浙 江 水 利 水 电 专 科 学 校 习题集 Exercises 1. 下列关于构造函数的描述正确的是( ) A.构造函数可以声明返回类型. B.构造函数不可以用private修饰 C.构造函数必须 ...

  • 数据库课程设计心得体会
  • 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉. 首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学a ...

  • 协和音程与五度圈原理
  • [音程的物理学频率关系] 当两个音相差八度时,这两个音的频率是2倍关系.但大多数人并不知道其他音程关系的音之间的频率(单位赫兹)是什么样的关系.一个音的频率永远是比它低半音的音的频率的固定倍数关系,而不是比它多多少赫兹.这个内容与乐理其实并不相关,属于电子音乐物理学的范畴:在音程关系中,相距半音的两 ...

  • 一个C#初学者的学习心得体会
  • 一个C#初学者的学习心得体会 1.多看多写 看一下别人写的代码,会养成一个好的编程习惯.但更重要的是,要看一下比较成熟的代码. 2.多编多敲 看了代码,就要写代码,,可以跟他们相同.这是了解他们的代码,也了解代码的执行过程.特别是在编译的时候,你会发现你的进步和不足.在失败中取得微小的成功,是一件很 ...

  • 学校机房见习汇报范例
  • 什么是计算机科学与技术?对于我们所选的asp.net主要从事什么样的工作?本专业前途如何?带着这些问题,我们参加了这次的见习.本次实习在主管老师..和四个老师带领下进行,计算机科学与技术总共范文大全精心挑选四个班,110几人参加实习,我们小班四十多个人,预定为三个礼拜完成. 由于所学专业的特点,我们 ...

  • 假期学校机房研发工作实习总结
  •   读了三年的大学,然而大多数人对本专业的认识还是寥寥无几,在编程与软件测试周围缠绕不定,在大二期末学院曾要求我们做一个关于计算机行业前景研究的报告,但由于当时所学知识涉及本专业知识不多,所看到的东西与本专业根本就很难联系起来,在很多同学心里面对于本专业一直很茫然。   什么是计算机科学与技术?对于 ...