云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 笔试题库

笔试题库

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 4:43:50

True

解答:前两个参考第80题,i++表达式的值为

i自增之前的值,所以打印10,执行完

成后i变成11,执行++i的时候表达式的值为自增以后的值12。C#中赋值表达式的值为变量被赋值的值,因此最后一个就输出i赋值后的值20 while((line=reader.ReadLine())!=null) { }

下面程序的执行结果是什么? bool b=false; if(b=true) {

Console.WriteLine(\} else {

Console.WriteLine(\}

16、是否可以从一个static方法内部发出对非static方法的调用?

不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部不能发出对非static方法的调用。

17、override与重载(overload)的区别

重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。重载(overload)是面向过程的概念。

Override 是进行基类中函数的重写。Override是面向对象的概念

18、属性和public字段的区别是什么?调用set方法为一个属性设值,然后用get方法读取出来的值一定是set进去的值吗?

属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的,极端的例子。Public Age{get{return 100;}set{}}。加分的补充回答:用reflector反编译可以看出,属性内部本质上就是set_***、get_***方法,详细参考好人网.net培训视频中串讲.net基础的部分。

class Person {

public int Age {

get {

return 3; } set {

} } }

Person p1 = new Person(); p1.Age = 30; p1.Age++;

Console.Write(p1.Age);//输出3

19、C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数?

参数的个数和类型都是任意的。加分的补充回答:反编译可以看出,索引器的内部本质上就是set_item、get_item方法。

基础知识: 索引的语法:

public string this[string s],通过get、set块来定义取值、赋值的逻辑 索引可以有多个参数、参数类型任意 索引可以重载。

如果只有get没有set就是只读的索引。

索引其实就是set_Item、get_Item两个方法。

20.面向对象的语言具有________性、_________性、________性 答:封装、继承、多态。 不要背,脑子中要有联想。

21、在dotnet中类(class)与结构(struct)的异同?

Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。 Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的。加分的回答:Int32、Boolean等都属于结构体。

22、以下的C#代码,试图用来定义一个接口: public interface IFile {

int A;

int delFile()

{

A = 3; }

void disFile(); }

关于以上的代码,以下描述错误的是(d )。

a) 以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误;

b) 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;

c) 代码void disFile();声明无错误,接口可以没有返回值; d) 代码void disFile();应该编写为void disFile(){};

23、.请叙述属性与索引器的区别。 (*) 属性 索引器

通过名称标识。 通过签名标识。

通过简单名称或成员访问来访问。 通过元素访问来访问。 可以为静态成员或实例成员。 必须为实例成员。

属性的 get 访问器没有参数。 索引器的 get 访问器具有与索引器相同的形参表。

属性的 set 访问器包含隐式 value 参数。 除了 value 参数外,索引器的 set 访问器还具有与索引器相同的形参表。

24、C#中的接口和类有什么异同。

不同点:

不能直接实例化接口。 接口不包含方法的实现。

接口可以多继承,类只能单继承。

类定义可在不同的源文件之间进行拆分。 相同点:

接口、类和结构都可以从多个接口继承。

接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。 接口和类都可以包含事件、索引器、方法和属性。

基础知识:接口只能定义方法(只能定义行为,不能定义实现也就是字段),因为事件、索引器、属性本质上都是方法,所以接口中也可以定义事件、索引器、属性。

25、abstract class和interface有什么区别?

相同点:

都不能被直接实例化,都可以通过继承实现其抽象方法。 不同点:

接口支持多继承;抽象类不能实现多继承。

接口只能定义行为;抽象类既可以定义行为,还可能提供实现。

接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法;

抽象类可以定义字段、属性、包含有实现的方法。

26、您在什么情况下会用到虚方法?它与接口有什么不同?

答案:子类重新定义父类的某一个方法时,必须把父类的方法定义为virtual 在定义接口中不能有方法体,虚方法可以。

实现时,子类可以不重新定义虚方法,但如果一个类继承接口,那必须实现这个接口。

27、传入某个属性的set方法的隐含参数的名称是什么? value,它的类型和属性所声明的类型相同。

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

类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。 类是爹、接口是能力,能有多个能力,但不能有多个爹。

29、C#中所有对象共同的基类是什么? System.Object

30、接口是一种引用类型,在接口中可以声明( a),但不可以声明公有的域或私有的成员变量。

a) 方法、属性、索引器和事件; b) 索引器和字段; c) 事件和字段;

解读:接口中不能声明字段只能声明方法,属性、索引器和事件 最终都编译生成方法。因为字段属于实现层面的东西,只有存取值的时候才会用到字段,所以中接口中不能定义字段。

31. 下列关于C#中索引器理解正确的是(c ) a) 索引器的参数必须是两个或两个以上 b) 索引器的参数类型必须是整数型 c) 索引器没有名字 d) 以上皆非

32、是否可以继承String类?

String类是sealed类故不可以继承。

搜索更多关于: 笔试题库 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

True 解答:前两个参考第80题,i++表达式的值为i自增之前的值,所以打印10,执行完成后i变成11,执行++i的时候表达式的值为自增以后的值12。C#中赋值表达式的值为变量被赋值的值,因此最后一个就输出i赋值后的值20 while((line=reader.ReadLine())!=null) { } 下面程序的执行结果是什么? bool b=false; if(b=true) { Console.WriteLine(\} else { Console.WriteLine(\} 16、是否可以从一个static方法内部发出对非static方法的调用? 不可以。因为非static方法是要与对象关联在一

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com