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

csharpserver side programmingprogramming更新于 2025/9/24 3:51:00

简介

让我们尝试了解使用 LINQ 估算文件大小的 C# 程序。我们将了解 LINQ(语言集成查询)及其方法和类,以及如何在它们的帮助下获得所需的输出。

语言集成查询(又名 LINQ)用于在 C# 语言中生成查询。以前,我们必须使用其他关系语言,如 SQL 和 XML。它为 C# 语言或任何其他 .NET 语言提供了更多功能。在 LINQ 中查询数据库的语法与查询存储在数组中的数据的语法相同。

在本文中,我们将充分了解在 C# 中使用 LINQ 如何彻底改变它,以及它如何让用户更轻松地仅使用 C# 语言访问他们的数据,而无需依赖 SQL 等其他语言。

我们将首先了解 LINQ 及其一些方法,这将有助于我们理解代码。然后我们将了解代码及其算法。

语言集成查询 (LINQ)

.NET 框架的一部分 LINQ 使用户能够更轻松地以类型安全的方式检索数据。

LINQ 的最佳特性是它提供了一种从许多来源(包括数据库和 XML 文档)访问数据的单一方法。借助 LINQ,用户可以编写更易于理解、更简洁、更美观的代码。它还提供其他功能,如过滤、排序、分组数据甚至更改数据。

它属于系统。

此命名空间下通常有两种类型的类。第一个是 Enumerable 类,它包含用于查询 IEnumerable<T> 的标准查询运算符。第二个也是最后一个是 Queryable 类,它包含对执行 IQueryable<T> 的对象进行操作的标准查询运算符。

与 SQL 等任何其他数据库语言相比,使用 LINQ 有多个优势。下面列出了其中一些优势 -

  • 它是一种简单的高级语言,比 SQL 更有序。

  • 借助它,我们可以访问任何其他数据源,如 XML、实体和对象。

  • 它支持查询表达式、lambda 表达式和扩展方法。

  • 在没有 LINQ 的情况下,C# 程序必须包含方法和对象才能访问任何数据。与 LINQ 作为替代方案提供的代码相比,该代码量太大,可读性太低。 LINQ 提供了更好的可重用代码。它可以在其他程序中作为相同的代码重用。使用的 LINQ 代码具有更好的可维护性,并且由于类型安全,错误很少。

  • 在编译时进行完整类型检查,另一方面,可以在运行时检测到错误。

随着我们前进,我们需要了解有助于更好地理解代码及其算法的方法。

  • GetFiles − 它返回作为输入参数给出的目录中文件的名称。

  • Select − 用于从指定序列中获取单个值。

  • FileInfo − 它是一个提供不同类型的方法和属性的类,用于复制、删除和执行许多其他操作。

  • Math.Round 方法 − 此方法用于计算舍入值。在我们的算法中,舍入后的值将是 1。

这些方法和类在理解代码和算法时将具有最大的价值。这些为获得我们想要的输出奠定了基础。

算法

下面的算法将让您全面了解使用 LINQ 估算文件大小的代码。我们将了解分步方法,以更深入地理解代码。

步骤 1 - 我们将在 GetFiles 方法的帮助下获得目录路径。我们将以字符串的形式存储路径。

步骤 2 − 现在我们将使用 File 方法选择文件。

步骤 3 − 现在我们将使用 Average() 函数计算文件的平均值。

步骤 4 − 现在我们将使用数学计算四舍五入到小数点后 1 位的值。 round 函数。

步骤 5 − 最后,我们将使用控制台写入行函数打印文件的大小。

步骤 6 − 最初,在编码时,我们必须确保不会错过声明所需的命名空间,即 System.Linq。借助它,我们能够编写 LINQ 类和方法并生成所需的输出。

示例

using System;
using System.Linq;
using System.IO;
class TutorialsPoint{
   static void Main(string[] args){
    string[] s= Directory.GetFiles("c:\A");
    
    // 在这里,我们从目录或路径获取文件。
    var avg= s.Select(file => new FileInfo(file).Length).Average();
    
    // 在这里,我们获取文件的平均大小。
    avg = Math.Round(avg / 10, 1);
    
    // 现在我们将值四舍五入到小数点后 1 位
    
    // 我们将该值存储在名为 avg 的变量中
    Console.WriteLine("文件的大小为:",avg);
    
    //最后,我们将显示平均文件大小。
   }
} 

输出

文件大小为 1 MB。

时间复杂度

在上面提到的使用 LINQ 计算文件大小的代码中,我们得到了多个方法和类,它们作为一个整体给出了我​​们所需的输出。所有这些方法的时间复杂度都是常数,在 Big-O 表示法中可以称为 O(1)。因此,整个代码的时间复杂度为 O(1)。

结论

在本文中,我们广泛讨论了使用 LINQ 计算文件大小的方法。我们没有直接跳到代码及其算法,而是首先讨论了什么是 LINQ、它是如何工作的、它的优点是什么以及我们为什么需要它。然后我们转向相应的方法、代码和算法,我们还了解了代码的时间复杂度。我们希望本文有助于增强您对 C# 的了解。


相关文章