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

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

 

公開日: 2016年10月

シーケンスの最後の要素を返します。シーケンスに要素が含まれていない場合は既定値を返します。

名前空間:   System.Linq
アセンブリ:  System.Core (System.Core.dll 内)

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

パラメーター

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

IEnumerable<T> の最後の要素を返します。

戻り値

Type: TSource

default(TSource) 場合は、ソース シーケンスが空の場合、それ以外の場合の最後の要素、 IEnumerable<T>です。

型パラメーター

TSource

要素の型 sourceします。

Exception Condition
ArgumentNullException

sourcenull です。

参照および null 許容型の既定値は nullです。

LastOrDefault メソッドは、既定値を指定する方法を提供していません。 以外の場合、既定値を指定する場合は、 default(TSource) を使用して、 DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) 例」のセクションで説明するメソッドです。

次のコード例では、使用して LastOrDefault<TSource>(IEnumerable<TSource>) に空の配列。

string[] fruits = { };
string last = fruits.LastOrDefault();
Console.WriteLine(
    String.IsNullOrEmpty(last) ? "<string is null or empty>" : last);

/*
 This code produces the following output:

 <string is null or empty>
*/

値も default(TSource) が、コレクションに要素が含まれていない場合に使用する既定値はありません。 不要な既定値の結果をチェックし、必要に応じてを変更して、代わりに使用することができます、 DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) コレクションが空の場合に使用する既定値を指定します。 次に、呼び出す Last<TSource>(IEnumerable<TSource>) を最後の要素を取得します。 次のコード例では、両方の手法を使用して、月の日付の数値のコレクションが空の場合は、1 の既定値を取得します。 整数の既定値が 0 であり、月の日に対応していないであるため既定値必要があります 1 として代わりに指定します。 クエリの実行が完了した後、不要な既定値の最初の結果変数がチェックされます。 使用して 2 つ目の結果変数が取得 DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) を既定値は 1 を指定します。

List<int> daysOfMonth = new List<int> { };

// Setting the default value to 1 after the query.
int lastDay1 = daysOfMonth.LastOrDefault();
if (lastDay1 == 0)
{
    lastDay1 = 1;
}
Console.WriteLine("The value of the lastDay1 variable is {0}", lastDay1);

// Setting the default value to 1 by using DefaultIfEmpty() in the query.
int lastDay2 = daysOfMonth.DefaultIfEmpty(1).Last();
Console.WriteLine("The value of the lastDay2 variable is {0}", lastDay2);

/*
 This code produces the following output:

 The value of the lastDay1 variable is 1
 The value of the lastDay2 variable is 1
*/

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