概要
Singleメソッドは、LINQ の拡張メソッドの一つであり、シーケンス内の唯一の要素を取得するために使用されます。シーケンスに指定した条件を満たす要素が複数存在する場合、例外がスローされます。
公式サイト情報はコチラを参照してください。
構文
以下はSingleメソッドの構文です。
public static TSource Single(this IEnumerable source); public static TSource Single(this IEnumerable source, Func<TSource, bool> predicate);
Singleメソッドは、IEnumerable を実装する型に対して呼び出すことができます。引数には、sourceとpredicateがあります。
source:シーケンスを指定します。
predicate:シーケンス内の要素に適用する条件を指定します。
また、Singleメソッドは、以下のような例外をスローすることがあります。
InvalidOperationException:シーケンスが空の場合。
InvalidOperationException:条件を満たす要素が複数存在する場合。
使用例
以下はSingleメソッドの使用例です。
using System.Linq; var numbers = new List() { 1, 2, 3, 4, 5 }; // Singleメソッドを使用して、シーケンス内の唯一の要素を取得する var singleNumber = numbers.Single(); Console.WriteLine(singleNumber); // 例:1 // Singleメソッドを使用して、条件を満たす要素を取得する var oddNumber = numbers.Single(n => n % 2 == 1); Console.WriteLine(oddNumber); // 例:1 // 複数の要素が条件を満たす場合、InvalidOperationExceptionがスローされる var multipleNumbers = numbers.Where(n => n % 2 == 0); var result = multipleNumbers.Single(); // InvalidOperationExceptionがスローされる
上記の例では、最初のSingleメソッドはシーケンス内の最初の要素を取得し、2番目のSingleメソッドは条件を満たす唯一の要素を取得しています。3番目の例では、複数の要素が条件を満たすため、例外がスローされています。Singleメソッドを使う際は、条件によっては例外が発生することに注意する必要があります。
.NET クラス Tips 一覧
これまでに紹介した .NET Tips 一覧はこちら。
Please follow and like us:
コメント