c# 对一个list中的元素按照状态和是否领取奖励进行排序
时间: 2024-11-05 20:29:15 浏览: 6
在 C# 中,如果你有一个 List 类型的对象,其中包含具有状态和是否领取奖励等属性的元素,你可以使用 LINQ(Language Integrated Query)来进行复杂的数据操作,包括排序。假设你有一个名为 `User` 的类,有两个字段:`status` 和 `rewardClaimed`,你可以这样做:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
class User
{
public string Status { get; set; }
public bool RewardClaimed { get; set; }
}
public class Program
{
public static void Main()
{
// 假设usersList是一个包含User对象的List
var usersList = new List<User>
{
// ... 用户列表内容
};
// 根据状态和领取奖励情况对用户列表进行排序
// 如果你想先按状态升序,再按领取奖励降序
var sortedUsers = usersList.OrderBy(u => u.Status)
.ThenByDescending(u => u.RewardClaimed);
foreach (var user in sortedUsers)
{
Console.WriteLine($"Status: {user.Status}, Reward Claimed: {user.RewardClaimed}");
}
阅读全文