エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

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

2013/12/12

指定された条件を満たす、シーケンスの唯一の要素を返します。そのような要素が複数存在する場合は、例外をスローします。

Namespace:  System.Linq
アセンブリ:  System.Core (System.Core.dll 内)

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

型パラメーター

TSource

source の要素の型。

パラメーター

source
型: System.Collections.Generic.IEnumerable<TSource>
1 つの要素を返す IEnumerable<T>
predicate
型: System.Func<TSource, Boolean>
要素が条件を満たしているかどうかをテストする関数。

戻り値

型: TSource
条件を満たす、入力シーケンスの 1 つの要素。

使用上の注意

Visual Basic および C# では、このメソッドを、IEnumerable<TSource> 型の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。インスタンス メソッド構文を使用してこのメソッドを呼び出す場合は、最初のパラメーターを省略します。

例外条件
ArgumentNullException

source または predicatenull です。

InvalidOperationException

predicate の条件を満たす要素がありません。

または

predicate の条件を満たす要素が複数あります。

または

ソース シーケンスは空です。

Single<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) メソッドは、入力シーケンスに一致する要素が含まれていない場合に例外をスローします。一致する要素が見つからない場合に null を返すには、SingleOrDefault を使用します。

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


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

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

      outputBlock.Text += fruit1 + "\n";

      /*
       This code produces the following output:

       passionfruit
      */



条件を満たす要素がシーケンス内に 1 つだけではない場合に Single<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) が例外をスローすることを示すコード例を次に示します。


      string fruit2 = null;

      try
      {
         fruit2 = fruits.Single(fruit => fruit.Length > 15);
      }
      catch (System.InvalidOperationException)
      {
         outputBlock.Text += @"The collection does not contain exactly 
                             one element whose length is greater than 15." + "\n";
      }

      outputBlock.Text += fruit2 + "\n";

      // This code produces the following output:
      //
      // The collection does not contain exactly  
      // one element whose length is greater than 15.



Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft