C#面试题及答案

  1、override与重载的区别

  答:其实很本质的区别就是看函数特征:覆写(Override)的两个函数的函数特征相同,重载(Overload)的两个函数的函数名虽然相同,但函数特征不同。 函数特征包括函数名,参数的类型和个数。Override 是在继承的时候,如果你写的函数与要继承的函数函数特征相同,那么,加上这个关键字,在使用这个子类的这个函数的时候就看不见父类(或超类)的函数了,它被覆盖掉了。

  2、.net的错误处理机制是什么

  答:try{可能要出错的代码}catch{出错后如何处理}finally{不论是否出错都要执行}

  3、C#中接口和类的异同

  答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。

  接口可以说是比抽象类更抽象的类,只能继承接口,是一种规范

  4、DataReader和DataSet的异同

  答:dataset是保存数据的数据结构,断开模式,而DataReader不承担保存数据的责任,需要自己手动关闭连接数据库,它只负责从数据源读取数据到本地而已,是只读向前的,它不是数据结构,而是网络通讯组件的高层封装。

  1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.

  答:反射,base

  2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明.

  答:static int num = 0;在构造函数里num++。

  3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.

  答:A构造 →B构造 →B析构 →A析构

  4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.

  答:string a = ” a b c d e c d “;

  string d = a.Replace(” “, ” “);

  while (true)

  {

  d = d.Replace(” “,” “);

  if (d.IndexOf(” “) == -1)

  {

  break;

  }

  }

本文已影响6827
上一篇:C#笔试题以及英文面试题 下一篇:C#面试笔试题

相关文章推荐

|||||