本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

Enumerable.Max<TSource> 方法 (IEnumerable<TSource>)

 

泛型序列中返回的最大值。

命名空间:   System.Linq
程序集:  System.Core(System.Core.dll 中)

public static TSource Max<TSource>(
	this IEnumerable<TSource> source
)

参数

source
Type: System.Collections.Generic.IEnumerable<TSource>

要确定其最大值的值序列。

返回值

Type: TSource

序列中的最大值。

类型参数

TSource

中的元素的类型 source

Exception Condition
ArgumentNullException

sourcenull

如果类型 TSource 实现 IComparable<T>, 、 Max<TSource>(IEnumerable<TSource>) 方法使用该实现对值进行比较。 否则为如果类型 TSource 实现 IComparable, ,则使用该实现对值进行比较。

如果 TSource 是引用类型,并且源序列为空或包含只有值 null, ,此方法返回 null

在 Visual Basic 查询表达式语法中, Aggregate Into Max() 子句转换为的一个调用 Max

下面的代码示例演示如何使用 Max<TSource>(IEnumerable<TSource>) 若要确定序列中的最大值 IComparable<T> 对象。

/// <summary>
/// This class implements IComparable to be able to 
/// compare one Pet to another Pet.
/// </summary>
class Pet : IComparable<Pet>
{
    public string Name { get; set; }
    public int Age { get; set; }

    /// <summary>
    /// Compares this Pet to another Pet by 
    /// summing each Pet's age and name length.
    /// </summary>
    /// <param name="other">The Pet to compare this Pet to.</param>
    /// <returns>-1 if this Pet is 'less' than the other Pet, 
    /// 0 if they are equal,
    /// or 1 if this Pet is 'greater' than the other Pet.</returns>
    int IComparable<Pet>.CompareTo(Pet other)
    {
        int sumOther = other.Age + other.Name.Length;
        int sumThis = this.Age + this.Name.Length;

        if (sumOther > sumThis)
            return -1;
        else if (sumOther == sumThis)
            return 0;
        else
            return 1;
    }
}

public static void MaxEx3()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    Pet max = pets.Max();

    Console.WriteLine(
        "The 'maximum' animal is {0}.",
        max.Name);
}

/*
 This code produces the following output:

 The 'maximum' animal is Barley.
*/

Universal Windows Platform
8 后可用
.NET Framework
3.5 后可用
Portable Class Library
受以下版本支持:portable .NET platforms
Silverlight
2.0 后可用
Windows Phone Silverlight
7.0 后可用
Windows Phone
8.1 后可用
返回页首
显示: