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

Enumerable.SingleOrDefault<TSource> メソッド (IEnumerable<TSource>, Func<TSource, Boolean>)

 

公開日: 2016年10月

指定された条件を満たすシーケンスの唯一の要素、またはそのような要素がない場合は既定値を返します。このメソッドは、複数の要素が条件を満たす場合に例外をスローします。

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

public static TSource SingleOrDefault<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

パラメーター

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

IEnumerable<T> から 1 つの要素を返します。

predicate
Type: System.Func<TSource, Boolean>

要素が条件を満たしているかどうかをテストする関数。

戻り値

Type: TSource

条件を満たす入力シーケンスの 1 つの要素または default(TSource) このような要素が存在しない場合。

型パラメーター

TSource

要素の型 sourceします。

Exception Condition
ArgumentNullException

source または predicatenull です。

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

次のコード例では、使用して SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 条件を満たす、配列の唯一の要素を選択します。

string[] fruits = { "apple", "banana", "mango", 
                      "orange", "passionfruit", "grape" };

string fruit1 = fruits.SingleOrDefault(fruit => fruit.Length > 10);

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 passionfruit
*/

次のコード例に示しますを SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 、シーケンスに条件を満たす要素が 1 つだけが含まれていない場合は、既定値を返します。

string fruit2 =
    fruits.SingleOrDefault(fruit => fruit.Length > 15);

Console.WriteLine(
    String.IsNullOrEmpty(fruit2) ? "No such string!" : fruit2);

/*
 This code produces the following output:

 No such string!
*/

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