c#使数组按照某个字段排序的扩展方法怎么写
时间: 2024-05-10 08:15:36 浏览: 121
c# 实现数组排序
可以使用 `Array.Sort` 方法来实现按照某个字段排序的功能。下面是一个示例代码:
```csharp
public static class ArrayExtensions
{
public static void SortByField<T>(this T[] array, Func<T, object> fieldSelector)
{
// 使用 LINQ 的 OrderBy 方法来排序
Array.Sort(array, (x, y) => Comparer<object>.Default.Compare(fieldSelector(x), fieldSelector(y)));
}
}
```
使用方法:
```csharp
// 假设有一个 Student 类,包含 Name 和 Age 两个字段
Student[] students = GetStudents();
students.SortByField(s => s.Age); // 按照 Age 字段进行排序
```
其中,`fieldSelector` 参数是一个 lambda 表达式,用来指定要排序的字段。在示例中,`s => s.Age` 表示按照 `Student` 类中的 `Age` 字段进行排序。如果要按照其他字段排序,只需要修改 lambda 表达式即可。
阅读全文