【发布时间】:2011-11-26 21:00:17
【问题描述】:
我知道获取文件大小的正常方法是使用 FileInfo 实例:
using System.IO;
class SizeGetter
{
public static long GetFileSize(string filename)
{
FileInfo fi = new FileInfo(filename);
return fi.Length;
}
}
有没有办法使用静态方法来做同样的事情而不必创建 FileInfo 的实例?
也许每次我想要一个文件大小时,我都会过于吝啬地创建一个新实例,但以尝试计算包含 5000 多个文件的目录的总大小为例。像 GC 一样优化,难道不应该有一种方法可以做到这一点而不必对其进行不必要的征税吗?
【问题讨论】:
-
您确定这是您应用的瓶颈吗?我想不是那么为什么要打扰。
-
@Andrey 这与其说是瓶颈,不如说是有效使用语言和垃圾收集器的问题。这样的事情总是值得质疑的,特别是如果你不熟悉 GC 的细微差别。这不是我第一次被指责过度优化,但我宁愿错误地过度关注这些事情而不是不去打扰。此外,问一个问题只需几分钟。
标签: c# .net performance optimization filesize