C#面试题

2023-07-06   


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;
  
  


相关内容:

  1. 一套C#面试题
  2. C#软件工程师英语面试题
  3. 维德科技C#面试题笔试题
  4. C# .NET面试题
  5. C#面试题