C# 中生成只包含给定数据的一个属性的过滤元素序列的程序

17 Mar 2025 | 4 分钟阅读

这里的问题陈述是关于筛选数据对象的集合,以便我们可以获得所需的集合或对象序列,并确保该序列遵循某个属性或条件。

想象一个具有许多属性的数据对象集合。让我们来看一个学生类及其学生对象列表的例子。每个学生都有姓名、年龄、学号、地址和电子邮件。现在老师想获取有投票权的学生姓名,老师将筛选年龄大于或等于 18 岁的学生姓名。

这可以通过使用 C# 中的语言集成查询 (LINQ) 来完成。LINQ 将提供查询集合以执行各种操作,例如筛选、排序、添加、投影等。

首先,我们必须创建一个类。然后,创建该类的对象并使用 LINQ 的

选择方法来获取满足该属性的数据对象集合。此外,您可以使用 LINQ 方法,如“Where”、“OrderBy”等。

示例 1

让我们来看一个 C# 程序,它生成一个只包含给定数据的一个属性的过滤元素序列。

输出

C# Program for Producing a Filtered Sequence of Elements that Contain Only One Property of Given Data

说明

这个 C# 程序首先定义了 "Employee" 类。类中存在的属性是 "Name"、"EmployeeID""Salary"。在主方法中,创建了四个 Employee 对象。之后,使用 LINQ 的 'Where' 方法,我们筛选员工,使员工的薪水超过 55,000 美元。这里,"Select" 用于获取新序列。最后,我们遍历序列以打印序列。

示例 2

让我们来看一个 C# 程序,它使用 Aggregate 方法 生成一个只包含给定数据的一个属性的过滤元素序列。

输出

C# Program for Producing a Filtered Sequence of Elements that Contain Only One Property of Given Data

说明

在这个程序中,有一个名为 "Transaction" 的类,它包含两个属性 "Salesperson""Amount"。在主方法中创建了事务列表。因此,这个程序使用 LINQ 中的 Aggregate 方法来获取所有事务中的总金额。

示例 3

让我们来看一个更复杂的程序,它生成一个只包含给定数据的一个属性的过滤元素序列。

输出

C# Program for Producing a Filtered Sequence of Elements that Contain Only One Property of Given Data

说明

这里有两个类,一个是 "Product",它有 "Name"、"ProductID""Price" 等属性,另一个类是 "InventoryStatus",它有 "ProductID" 和 "InStock" 等属性,表示特定产品是否可用。它使用 LINQ 的 "Join"、"Where" 和 "Select" 方法根据价格(低于 500 美元)和可用性来筛选产品。使用 foreach 循环来打印可负担的产品。