📜  列出 c# 中的最小值和最大值(1)

📅  最后修改于: 2023-12-03 15:36:51.157000             🧑  作者: Mango

C# 中的最小值和最大值

在 C# 编程中,可以使用内置方法来查找数据集合中的最小值和最大值。本文将介绍 C# 中常用的几种方法。

1. 使用 Array 类的 Min 和 Max 方法

Array 类是 C# 中表示数组的类。Array.Min 方法返回数组中的最小值,而 Array.Max 方法返回数组中的最大值。这两个方法都是静态方法,可以直接通过类名调用。

int[] arr = {1, 2, 3, 4, 5};
int min = Array.Min(arr); // 返回 1
int max = Array.Max(arr); // 返回 5
2. 使用 List 类的 Min 和 Max 方法

List 是 C# 中表示动态数组的类。List.Min 方法返回列表中的最小值,而 List.Max 方法返回列表中的最大值。

List<int> list = new List<int>{1, 2, 3, 4, 5};
int min = list.Min(); // 返回 1
int max = list.Max(); // 返回 5
3. 自定义比较器

如果需要针对自定义数据类型中的某个属性进行比较,则可以自定义一个比较器。

class Person {
    public string Name {get;set;}
    public int Age {get;set;}
}

class AgeComparer : IComparer<Person> {
    public int Compare(Person p1, Person p2) {
        return p1.Age.CompareTo(p2.Age);
    }
}

List<Person> persons = new List<Person>{
    new Person{Name = "小明", Age = 20},
    new Person{Name = "小红", Age = 18},
    new Person{Name = "小张", Age = 25}
};

AgeComparer comparer = new AgeComparer();
Person youngest = persons.Min(comparer); // 返回年龄最小的 Person 对象
Person oldest = persons.Max(comparer); // 返回年龄最大的 Person 对象
结论

本文介绍了 C# 中查找最小值和最大值的常用方法。对于简单数据类型,可以使用 Array 或 List 类中的 Min 和 Max 方法;对于自定义数据类型,可以自定义比较器来解决该问题。