📜  LINQ Min()函数(1)

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

LINQ Min()函数

LINQ Min() 函数用于获取集合中的最小值。它需要一个数字类型的序列作为输入,并返回序列中的最小值。

语法

以下是 LINQ Min() 函数的语法:

public static int Min<TSource>(this IEnumerable<TSource> source, Func<TSource,int> selector);
public static long Min<TSource>(this IEnumerable<TSource> source, Func<TSource,long> selector);
public static float Min<TSource>(this IEnumerable<TSource> source, Func<TSource,float> selector);
public static double Min<TSource>(this IEnumerable<TSource> source, Func<TSource,double> selector);
public static decimal Min<TSource>(this IEnumerable<TSource> source, Func<TSource,decimal> selector);
public static Nullable<int> Min<TSource>(this IEnumerable<TSource> source, Func<TSource,Nullable<int>> selector);
public static Nullable<long> Min<TSource>(this IEnumerable<TSource> source, Func<TSource,Nullable<long>> selector);
public static Nullable<float> Min<TSource>(this IEnumerable<TSource> source, Func<TSource,Nullable<float>> selector);
public static Nullable<double> Min<TSource>(this IEnumerable<TSource> source, Func<TSource,Nullable<double>> selector);
public static Nullable<decimal> Min<TSource>(this IEnumerable<TSource> source, Func<TSource,Nullable<decimal>> selector);

参数说明:

  • source:需要查找最小值的序列。
  • selector:用于指定需要比较的属性或条件。
返回值

Min() 函数返回一个与指定的类型相同的值。如果序列为空,则抛出InvalidOperationException异常。

示例

以下示例演示了如何使用 Min() 函数。假设我们有一个包含整数的序列,我们想找到其中的最小值:

int[] numbers = { 1, 2, 3, 4, 5 };
int minNumber = numbers.Min();

Console.WriteLine("The minimum number is: " + minNumber);

输出结果:

The minimum number is: 1

在上面的示例中,我们使用了 Min() 函数来获取 numbers 序列的最小值。最小值为 1,因此输出结果为 "The minimum number is: 1"。

我们还可以使用 selector 参数来比较序列中的其他属性或条件。例如,我们有以下 Student 类:

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

我们有一个包含 Student 对象的序列。现在我们想找到其中年龄最小的学生:

List<Student> students = new List<Student>()
{
    new Student() { Name = "Alice", Age = 18 },
    new Student() { Name = "Bob", Age = 20 },
    new Student() { Name = "Charlie", Age = 17 }
};

int minAge = students.Min(s => s.Age);

Console.WriteLine("The minimum age is: " + minAge);

输出结果:

The minimum age is: 17

在上面的示例中,我们使用了 Min() 函数和 selector 参数来获取序列中 Age 属性的最小值。最小值为 17,因此输出结果为 "The minimum age is: 17"。

总结

LINQ Min() 函数非常适合在需要在序列中查找最小值时使用。它可以接受数字类型的序列作为输入,并返回序列中的最小值。通过 selector 参数,我们可以比较序列中的其他属性或条件。