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 sekvenci.
Přetížení
| Name | Description |
|---|---|
| LongCount<TSource>(IQueryable<TSource>) |
Vrátí 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
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static long LongCount<TSource>(this System.Linq.IQueryable<TSource> source);
static member LongCount : System.Linq.IQueryable<'Source> -> int64
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 prvků .source
Parametry
- source
- IQueryable<TSource>
Obsahuje IQueryable<T> prvky, které se mají spočítat.
Návraty
Počet prvků v source.
- Atributy
Výjimky
source je null.
Počet prvků překračuje hodnotu 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 MethodCallExpression , která představuje samotné volání LongCount<TSource>(IQueryable<TSource>) jako vytvořenou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametrusource.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání LongCount<TSource>(IQueryable<TSource>) , závisí na implementaci typu parametru source . Očekávané chování je, že počítá počet položek a source vrací hodnotu Int64.
Platí pro
LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 prvků .source
Parametry
- source
- IQueryable<TSource>
Obsahuje IQueryable<T> prvky, které se mají spočítat.
- predicate
- Expression<Func<TSource,Boolean>>
Funkce k otestování jednotlivých prvků pro podmínku.
Návraty
Počet prvků, source které splňují podmínku v predikátové funkci.
- Atributy
Výjimky
source nebo predicate je null.
Počet odpovídajících prvků překračuje hodnotu 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 a bude zkompilován do Expression<TDelegate>.
Metoda LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) vygeneruje MethodCallExpression , která představuje samotné volání LongCount<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) jako vytvořenou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametrusource.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, 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í je, že počítá počet položek, které source splňují podmínku určenou predicate a vrací Int64hodnotu .