itgle.com
更多“C#中的接口和类有什么异同。 ”相关问题
  • 第1题:

    C#中File类和FileInfo类有什么区别?  各有什么作用和优点?


    System.IO命名空间中提供的文件操作类有File和FileInfo,这两个类的功能基本相同,只是File是静态类,其中所有方法都是静态的,可以通过类名直接调用,不需要实例化。而FileInfo是普通类,只有实例化对象后才可以调用其中的方法。

    File类是一个静态类,它对应整个文件系统进行操作,方法均为静态文法;如果只是对文件进行少量的操作,如判断文件是否存在之类或者对很多的文件进行操作,建议使用File类,可以避免频繁创建和释放对象的系统开销。


    FileInfo类是一个实例类,它对应某一个文件进行操作,方法大部分为实例方法,它的操作有可能是调用的File中的对应静态方法。如果是对一个文件进行大量的操作,建议使用FileInfo类。

    那么为什么有时还使用FileInfo呢?因为每次通过File类调用某个方法时,都要占用一定的cpu处理时间来进行安全检查,即使使用不同的File类的方法重复访问同一个文件时也是如此。而FileInfo类只在创建FileInfo对象时执行一次安全检查。

    为方便操作,有很多时候不需要生成一个FileInfo对象那么麻烦。
    比如:复制一个文件到另外一个地方:
    File.Copy(filePath,newFilePath)就可以。
    如果用FileInfo
    可能需要:
    FileInof fi = new FileInfo();
    fi.CopyTo(newFilePath);

    我们可以使用以下规则确定:

    1、如果应用程序在文件上执行几种操作,则使用FileInfo类更好一些,因为创建对象时,已经引用了正确的文件,而静态类每次都要寻找文件,会花费更多时间。

    2、如果进行单一的方法调用,则建议用File类,不必实例化对象。

  • 第2题:

    C#的类不允许多重继承,但接口支持多重继承


    正确

  • 第3题:

    29、在C#中,以下说法不正确的是()。

    A.一个类可以实现多个接口

    B.一个类可以继承多个类

    C.在C#中要在派生类中重新定义基类的虚函数必须在前面加override

    D.子类可以添加新方法


    B

  • 第4题:

    在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法。


    正确答案:
    答:using 引入名称空间或者使用非托管资源
         new 新建实例或者隐藏父类方法

  • 第5题:

    在C#中,抽象类可以包含构造函数,接口不能包含构造函数。