我知道获取文件大小的正常方法是使用FileInfo实例:
I know the normal way of getting the size of a file would be to use a FileInfo instance:
using System.IO; class SizeGetter { public static long GetFileSize(string filename) { FileInfo fi = new FileInfo(filename); return fi.Length; } }是否有一种方法可以执行相同的操作而不必使用静态方法创建FileInfo实例?
Is there a way to do the same thing without having to create an instance of FileInfo, using a static method?
也许每次我想要一个文件大小时,我都试图过分地创建新实例,但是例如,尝试计算包含5000多个文件的目录的总大小.如GC所优化的那样,难道不应该有一种无需不必要地征税就可以做到这一点的方法吗?
Maybe I'm trying to be overly stingy with creating a new instance every time I want a file size, but take for example trying to calculate the total size of a directory containing 5000+ files. As optimized as the GC may be, shouldn't there be a way to do this without having to tax it unnecessarily?
推荐答案不用担心.首先,.NET中的分配很便宜.其次,该对象将出现在gen 0中,因此应该在没有太多开销的情况下进行收集.
Don't worry about it. First, allocation in .NET is cheap. Second, that object will be in gen 0 so it should be collected without much overhead.
更多推荐
有没有一种方法可以使用静态方法在.NET中获取文件的大小?
发布评论