我需要显示给定目录的平均文件大小(以 MB 为单位)。
我开始这样编码
string filePath = @"DesiredFilePath";
var getFiles = Directory.GetFiles(filePath);
var length = getFiles.Select(f => new FileInfo(f).Length);
如何扩展代码以找到平均文件大小?
我需要显示给定目录的平均文件大小(以 MB 为单位)。
我开始这样编码
string filePath = @"DesiredFilePath";
var getFiles = Directory.GetFiles(filePath);
var length = getFiles.Select(f => new FileInfo(f).Length);
如何扩展代码以找到平均文件大小?
您可以使用Average
扩展方法:
// using System.Linq;
string filePath = @"DesiredFilePath";
double averageFileSize = Directory
.EnumerateFiles(filePath)
.Average(x => new FileInfo(x).Length);
你快到了。
试试这个
string filePath = @"DesiredFilePath";
var getFiles = Directory.GetFiles(filePath);
var avg = getFiles.Select(f =>
new FileInfo(f).Length).Average();
Console.WriteLine("The Average file size in {0} directory is {1} MB",
filePath,Math.Round(avg/1048576,1));
它认为这是最短的方法(更少的代码):
string filePath = "My Path";
double averageBytes = new DirectoryInfo(filePath)
.EnumerateFiles()
.Average(file => file.Length);
double averageMb = averageBytes / 1048576.0;