File和Directory,FileInfo和DirectoryInfo 之间的区别

老师在讲C#文件操作的时候讲的个类,功能类似,但用法有区别。他们都存在于systerm.IO命名空间下。

File和Directory的方法都是静态方法。FileInfo和DirectoryInfo的方法都是普通方法。老师建议是如果你要在某个文件上多次进行IO操作,最好使用2个Info类,如果只是操作1、2次操作,最好使用静态方法的类。

我自认为是如下原因,并经考证

静态方法每次对文件进行操作过程是:静态方法存在于栈头,它是由类调用,然后寻找需要操作的文件。寻找需要操作文件的过程是个IO过程,耗时比较长。但它不必要到堆区去遍历实例化新对象。

普通方法是由当时的对象调用,需要创建对象,new一个,(静态方法不需要此过程)但如果操作次数多的话,普通方法就不需要再次去执行不必要而且耗时的IO操作,就能整体提速!

所以执行方法的次数也就能决定了使用哪个类的最佳选择。

当然,我可能忽略了一点,那就是File FileInfo     是对文件进行操作,而Directory DirectoryInfo 是对文件夹进行操作。。。。。

你可能感兴趣的:(Directory)