📜  使用 LINQ 估计文件大小的 C# 程序

📅  最后修改于: 2022-05-13 01:55:09.533000             🧑  作者: Mango

使用 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