从OOP的角度来看,派生类和继承类之间有什么区别吗?或者只是术语?
我正在尝试以分割负载的方式计算目录大小,以便用户可以看到计数进度.我认为这样做的逻辑方法是首先创建目录树,然后执行计算所有文件长度的操作.
我意想不到的事情是,大部分时间(磁盘I/O)来自创建目录树,然后FileInfo[]几乎立即几乎没有磁盘I/O.
我尝试过这两种方法Directory.GetDirectories(),只需创建一个目录名字符串树,并使用一个DirectoryInfo对象,这两种方法仍然需要大量的I/O时间(当然是读取MFT),而不是全部FileInfo.Length用于每个目录中的文件.
我想没有办法减少I/O使树显着,我想我只是想知道为什么这个操作比翻阅更多的文件需要更多的时间?
此外,如果任何人都可以推荐一种非递归的方式来计算一些东西(因为看起来我需要分开枚举并平衡它以使大小统计更具响应性).为基础上的每个子目录创建一个线程并让调度程序竞争平衡可能不会很好,是吗?
编辑: 此代码的存储库
我正在捣乱,制作一个泛型类,而且这一次我想使用IComparable使用比较运算符实现的类型.
我知道.CompareTo()可以在功能上执行相同的操作,但我有一种唠叨的感觉,必须有一个实现比较运算符的接口.
.net ×2
c# ×1
filesystems ×1
inheritance ×1
interface ×1
oop ×1
terminology ×1
vb.net ×1
windows ×1