Enumerable.TryGetNonEnumeratedCount<TSource> Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Attempts to determine the number of elements in a sequence without forcing an enumeration.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static bool TryGetNonEnumeratedCount(System::Collections::Generic::IEnumerable<TSource> ^ source, [Runtime::InteropServices::Out] int % count);
public static bool TryGetNonEnumeratedCount<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, out int count);
static member TryGetNonEnumeratedCount : seq<'Source> * int -> bool
<Extension()>
Public Function TryGetNonEnumeratedCount(Of TSource) (source As IEnumerable(Of TSource), ByRef count As Integer) As Boolean
Type Parameters
- TSource
The type of the elements of source
.
Parameters
- source
- IEnumerable<TSource>
A sequence that contains elements to be counted.
- count
- Int32
When this method returns, contains the number of elements in source
, or 0 if the count couldn't be determined without enumeration.
Returns
true
if the count of source
can be determined without enumeration; otherwise, false
.
Remarks
The method performs a series of type tests, identifying common subtypes whose count can be determined without enumerating. This includes ICollection<T>, ICollection, and internal types used in the LINQ implementation.
The method is typically a constant-time operation, but ultimately this depends on the complexity characteristics of the underlying collection's implementation.