この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Enumerable.Max<TSource> メソッド (IEnumerable<TSource>)

 

公開日: 2016年10月

ジェネリック シーケンスの最大値を返します。

名前空間:   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.
*/

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
3.5 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: