c#面试问题及答案

时间:2022-06-24 14:29:18 面试 我要投稿
  • 相关推荐

c#面试问题及答案

  面试除了基本信息之外还会问一些与岗位相关的问题,接下来是小编给大家搜集的c#面试问题及答案,希望帮助到大家!

c#面试问题及答案

  1、什么是装箱和拆箱?

  答:装箱就是把值类型转成引用类型:装箱就是把值类型(包括int与结构这样的内置类型)转换为object类型,拆箱就是把引用类型转换为值类型,装箱与拆箱实现了两种类型的互换。

  2、对象和类的区别是什么?

  答:“类”(Class)具有相同属性和方法的一组对象的集合 . 类是抽象的概念,仅仅是模板对象是一个你能够看得到、摸得着的具体实体

  3、什么是类的方法?

  答:类是由一组具有相同属性和共同行为的实体抽象而来,对象执行的操作通过编写类的方法来实现。可见,类的方法是一个功能模块,作用是“做一件事”。

  4、什么是局部变量,什么是成员变量?

  答:局部变量是指一个方法中定义的变量;成员变量是指在类范围里定义的变量,也就是之前讲过的属性。

  5、静态成员和实例成员的区别?

  答:使用static修饰的成员称为静态成员,使用实例对象调用的成员称为实例成员

  6、概述序列化

  答: 序列化是将对象的状态存储到特定存储介质中的过程。反序列化则是从特定存储介质中的数据重新构建对象的过程

  7、类成员有几种可访问形式?简述可访问形式修饰符的访问权限

  答:可访问形式有 private、 protected、 public、 internal;

  public(公共的) 完全公开,访问不受限制。

  protected(保护的) 访问仅限于包含类或从包含类派生的类型。该类内部和继承类中可以访问。

  internal(内部的) 访问仅限于当前程序集。在同一命名空间内可以访问。

  protected internal(内部保护的) 访问仅限于从包含类派生的当前程序集或类型。

  private(私有的) 访问仅限于包含类型。在类的内部才可以访问。

  8、继承的特点有哪些?

  答:C# 继承通过 : 关键字来实现,实现继承的类被称为子类,被继承的类被称为父类,有的也称为基类、超类。父类和子类的关系是is-a的关系,即子类is-a父类。

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

  答: 隐含参数的名称是value,它的类型和属性所声名的类型相同。

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

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

  11、对象能否调用静态方法 ?

  答:不能。对于类内部定义的静态变量及静态方法,该类的对象均不能调用。

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

  答:类之间不支持多重继承,接口之间支持。类对接口叫做实现,不叫继承。

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

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

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

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

  15、接口和抽象类具有什么区别?

  答:含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。

  接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型

  下面比较一下两者的语法区别:

  抽象类可以有构造方法,接口中不能有构造方法。

  抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

  抽象类中抽象方法可以指定为public,接口中抽象方法不能指定任何修饰符,默认就是public

  一个类可以实现多个接口,但只能继承一个抽象类。

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

  答:System.Object.

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

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

  18、能够将非静态的方法覆写成静态方法么?

  答:不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将virtual改为override。答案并没有大错,只是静态方法根本无override概念,属于引起困惑的问题 。

  19、可以覆写私有的虚方法么?

  答:不可以,甚至子类中无法访问父类中的私有方法。

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

  答:可以,使用关键字sealed。 还可以将所有构造函数的访问级别都设为Private或子类无法访问到的其他级别(Assembly外的iternal),也有同样的效果。

【c#面试问题及答案】相关文章:

经典面试的问题及答案06-27

面试的经典问题及答案06-25

面试经典问题及答案07-02

面试问题答案07-11

面试护士问题及答案07-13

面试问题及答案07-11

客服面试的问题及答案06-25

面试问题及答案06-09

面试遇到的问题及答案06-25

面试美容的问题答案06-25