Enumerable.Single<TSource> Method (IEnumerable<TSource>)
Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.
Assembly: System.Core (in System.Core.dll)
Parameters
- source
-
Type:
System.Collections.Generic.IEnumerable<TSource>
An IEnumerable<T> to return the single element of.
Return Value
Type: TSourceThe single element of the input sequence.
Type Parameters
- TSource
The type of the elements of source.
| Exception | Condition |
|---|---|
| ArgumentNullException | source is null. |
| InvalidOperationException | The input sequence contains more than one element. -or- The input sequence is empty. |
The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. To instead return null when the input sequence is empty, use SingleOrDefault<TSource>.
The following code example demonstrates how to use Single<TSource>(IEnumerable<TSource>) to select the only element of an array.
string[] fruits1 = { "orange" }; string fruit1 = fruits1.Single(); Console.WriteLine(fruit1); /* This code produces the following output: orange */
The following code example demonstrates that Single<TSource>(IEnumerable<TSource>) throws an exception when the sequence does not contain exactly one element.
string[] fruits2 = { "orange", "apple" }; string fruit2 = null; try { fruit2 = fruits2.Single(); } catch (System.InvalidOperationException) { Console.WriteLine("The collection does not contain exactly one element."); } Console.WriteLine(fruit2); /* This code produces the following output: The collection does not contain exactly one element. */
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1