Queryable.LongCount Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu Int64 , která představuje počet prvků v posloupnosti.
Přetížení
LongCount<TSource>(IQueryable<TSource>) |
Vrátí hodnotu Int64 , která představuje celkový počet prvků v sekvenci. |
LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Vrátí hodnotu Int64 , která představuje počet prvků v sekvenci, které splňují podmínku. |
LongCount<TSource>(IQueryable<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí hodnotu Int64 , která představuje celkový počet prvků v sekvenci.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long LongCount(System::Linq::IQueryable<TSource> ^ source);
public static long LongCount<TSource> (this System.Linq.IQueryable<TSource> source);
static member LongCount : System.Linq.IQueryable<'Source> -> int64
<Extension()>
Public Function LongCount(Of TSource) (source As IQueryable(Of TSource)) As Long
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Objekt IQueryable<T> obsahující prvky, které se mají spočítat.
Návraty
Počet prvků v nástroji source
.
Výjimky
source
je null
.
Počet prvků překračuje Int64.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít LongCount<TSource>(IQueryable<TSource>) k počítání prvků v poli.
string[] fruits = { "apple", "banana", "mango",
"orange", "passionfruit", "grape" };
long count = fruits.AsQueryable().LongCount();
Console.WriteLine("There are {0} fruits in the collection.", count);
/*
This code produces the following output:
There are 6 fruits in the collection.
*/
Dim fruits() As String = {"apple", "banana", "mango", _
"orange", "passionfruit", "grape"}
Dim count As Long = fruits.AsQueryable().LongCount()
MsgBox(String.Format("There are {0} fruits in the collection.", count))
' This code produces the following output:
' There are 6 fruits in the collection.
Poznámky
Metoda LongCount<TSource>(IQueryable<TSource>) vygeneruje metodu MethodCallExpression , která představuje volání LongCount<TSource>(IQueryable<TSource>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání LongCount<TSource>(IQueryable<TSource>) , závisí na implementaci typu parametru source
. Očekávané chování je, že spočítá počet položek v source
a vrátí Int64.
Platí pro
LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí hodnotu Int64 , která představuje počet prvků v sekvenci, které splňují podmínku.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long LongCount(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static long LongCount<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member LongCount : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> int64
<Extension()>
Public Function LongCount(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) As Long
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Objekt IQueryable<T> obsahující prvky, které se mají spočítat.
- predicate
- Expression<Func<TSource,Boolean>>
Funkce pro otestování každého prvku pro podmínku.
Návraty
Počet prvků, source
které splňují podmínku v predikátové funkci.
Výjimky
source
nebo predicate
je null
.
Počet odpovídajících prvků překračuje Int64.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) k počítání prvků v poli, které splňují podmínku.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void LongCountEx2()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
const int Age = 3;
// Count the number of Pet objects where Pet.Age is greater than 3.
long count = pets.AsQueryable().LongCount(pet => pet.Age > Age);
Console.WriteLine("There are {0} animals over age {1}.", count, Age);
}
/*
This code produces the following output:
There are 2 animals over age 3.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Shared Sub LongCountEx2()
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8}, _
New Pet With {.Name = "Boots", .Age = 4}, _
New Pet With {.Name = "Whiskers", .Age = 1}}
Const Age As Integer = 3
' Count the number of Pet objects where Pet.Age is greater than 3.
Dim count As Long = pets.AsQueryable().LongCount(Function(Pet) Pet.Age > Age)
MsgBox(String.Format("There are {0} animals over age {1}.", count, Age))
End Sub
' This code produces the following output:
' There are 2 animals over age 3.
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) vygeneruje metodu MethodCallExpression , která představuje volání LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , závisí na implementaci typu parametru source
. Očekávané chování spočívá v tom, že spočítá počet položek, source
které splňují podmínku určenou nástrojem predicate
, a vrátí hodnotu Int64.