当涉及到用户数据时,我们经常需要根据特定条件进行筛选和排序。今天,我们将通过一个C#中的LINQ查询案例,来展示如何高效地从用户列表中筛选特定年龄和城市的用户,并按姓名进行排序。
如果你拥有一个包含用户姓名、年龄和所在城市的用户列表。现在,你需要找出所有年龄在20到30岁之间,并且居住在“北京”的用户,然后将这些用户按照姓名进行排序。这听起来可能是一个繁琐的任务,但有了LINQ,一切都变得简单起来。
// 定义一个User类,包含姓名、年龄和所在城市等属性
class User
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
// 创建一个用户列表,包含多个User对象
List<User> users = new List<User>()
{
new User { Name = "张三", Age = 25, City = "北京" },
new User { Name = "李四", Age = 32, City = "上海" },
new User { Name = "王五", Age = 19, City = "广州" },
new User { Name = "赵六", Age = 28, City = "北京" },
new User { Name = "陈七", Age = 30, City = "北京" },
};
// 使用LINQ查询来过滤和排序用户数据
var filteredUsers = FilterAndSortUsers(users, specificCity, minAge, maxAge);
// 遍历并打印筛选后的用户数据
foreach (var user in filteredUsers)
{
Console.WriteLine($"{user.Name}, {user.Age}, {user.City}");
}
// 将筛选和排序逻辑封装到一个方法中
static IEnumerable<User> FilterAndSortUsers(List<User> users, string city, int minAge, int maxAge)
{
return users
.Where(user => user.Age >= minAge && user.Age <= maxAge && user.City == city)
.OrderBy(user => user.Name);
}
完整代码如图:
代码执行结果:
这段代码首先定义了一个User类,用于存储用户信息。然后创建了一个用户列表,并设置了筛选条件。接着,我们定义了一个名为FilterAndSortUsers的方法,该方法接收用户列表和筛选条件作为参数,并返回满足条件的排序后的用户集合。
在Main方法中,我们调用这个方法并遍历结果,打印出筛选排序后的用户信息。
这段代码展示了LINQ查询的简洁性和强大功能。通过使用LINQ的Where和OrderBy方法,我们可以轻松地实现复杂的筛选和排序逻辑。
代码的可读性和可维护性得到了极大的提升,因为它将筛选和排序的逻辑封装在了一个单独的方法中。这样的设计不仅使得代码更加模块化,而且提高了代码的复用性。此方法使得代码更加直观,减少了出错的可能性。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved