使用 LINQ 估计文件大小的 C# 程序
LINQ 被称为语言集成查询,它是在 .NET 3.5 中引入的。它使 .NET 语言能够生成查询以从数据源中检索数据。它消除了编程语言和数据库之间的不匹配,并且无论使用哪种类型的数据源,用于创建查询的语法都是相同的。在本文中,我们将估计文件的大小。因此,为了完成这项任务,我们使用以下方法和类:
1. GetFiles:它将返回特定目录或子目录中存在的文件的名称。
句法:
public static string[] GetFiles (string path);
其中 path 是要搜索的目录。此字符串不区分大小写。
2.选择方法:此方法用于将序列的每个元素投影到新的形式中。或者换句话说,当我们想从指定的集合或序列中获取单个值时使用此方法。
句法:
Select(IEnumerable, Func)
这用于使用 FileInfo 类选择新文件
3. FileInfo 类:该类提供不同类型的属性和实例方法,用于文件的复制、创建、删除、移动和打开,并有助于创建 FileStream 对象。
句法:
public sealed class FileInfo : System.IO.FileSystemInfo
4. Math.Round 方法:此方法用于将值四舍五入到最接近的整数或指定的小数位数。
句法:
Math.Round(Decimal, Int32)
方法:
1.使用GetFiles()方法从路径中获取文件
string[] list = Directory.GetFiles("c:\\A\\");
2.使用文件类选择文件,使用Average()函数计算平均值
average = list.Select(file =>new FileInfo(file).Length).Average();
3.使用 Math.Round函数将大小舍入小数点后 1 位
Math.Round(average / 10, 1)
4.显示文件大小
示例:在此示例中,我们将找到给定文件的大小
C#
// C# program to estimate the file size
// Using LINQ
using System;
using System.Linq;
using System.IO;
class GFG{
static void Main(string[] args)
{
// Get the file from the path
string[] list = Directory.GetFiles("c:\\A\\");
// Get the average size
var average = list.Select(file => new FileInfo(file).Length).Average();
// Round off the average size to 1 decimal point
average = Math.Round(average / 10, 1);
// Display average file size
Console.WriteLine("The Average size of the file is {0} MB", average);
}
}
输出:
The Average size of the file is 1.3 MB