Queryable.Count Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan jumlah elemen dalam urutan.
Overload
Count<TSource>(IQueryable<TSource>) |
Mengembalikan jumlah elemen dalam urutan. |
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Mengembalikan jumlah elemen dalam urutan yang ditentukan yang memenuhi kondisi. |
Count<TSource>(IQueryable<TSource>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Mengembalikan jumlah elemen dalam urutan.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Count(System::Linq::IQueryable<TSource> ^ source);
public static int Count<TSource> (this System.Linq.IQueryable<TSource> source);
static member Count : System.Linq.IQueryable<'Source> -> int
<Extension()>
Public Function Count(Of TSource) (source As IQueryable(Of TSource)) As Integer
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IQueryable<TSource>
IQueryable<T> yang berisi elemen yang akan dihitung.
Mengembalikan
Jumlah elemen dalam urutan input.
Pengecualian
source
adalah null
.
Jumlah elemen di source
lebih besar dari Int32.MaxValue.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Count<TSource>(IQueryable<TSource>) untuk menghitung elemen secara berurutan.
string[] fruits = { "apple", "banana", "mango",
"orange", "passionfruit", "grape" };
int numberOfFruits = fruits.AsQueryable().Count();
Console.WriteLine(
"There are {0} items in the array.",
numberOfFruits);
// This code produces the following output:
//
// There are 6 items in the array.
Dim fruits() As String = {"apple", "banana", "mango", _
"orange", "passionfruit", "grape"}
Dim numberOfFruits As Integer = fruits.AsQueryable().Count()
MsgBox(String.Format( _
"There are {0} items in the array.", _
numberOfFruits))
' This code produces the following output:
'
' There are 6 items in the array.
Keterangan
Metode ini Count<TSource>(IQueryable<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Count<TSource>(IQueryable<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Count<TSource>(IQueryable<TSource>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah menghitung jumlah item dalam source
.
Berlaku untuk
Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
- Sumber:
- Queryable.cs
Mengembalikan jumlah elemen dalam urutan yang ditentukan yang memenuhi kondisi.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Count(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static int Count<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member Count : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> int
<Extension()>
Public Function Count(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) As Integer
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IQueryable<TSource>
Yang IQueryable<T> berisi elemen yang akan dihitung.
- predicate
- Expression<Func<TSource,Boolean>>
Fungsi untuk menguji setiap elemen untuk kondisi.
Mengembalikan
Jumlah elemen dalam urutan yang memenuhi kondisi dalam fungsi predikat.
Pengecualian
source
atau predicate
adalah null
.
Jumlah elemen di source
lebih besar dari Int32.MaxValue.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) untuk menghitung elemen secara berurutan yang memenuhi kondisi.
class Pet
{
public string Name { get; set; }
public bool Vaccinated { get; set; }
}
public static void CountEx2()
{
// Create an array of Pet objects.
Pet[] pets = { new Pet { Name="Barley", Vaccinated=true },
new Pet { Name="Boots", Vaccinated=false },
new Pet { Name="Whiskers", Vaccinated=false } };
// Count the number of unvaccinated pets in the array.
int numberUnvaccinated =
pets.AsQueryable().Count(p => p.Vaccinated == false);
Console.WriteLine(
"There are {0} unvaccinated animals.",
numberUnvaccinated);
}
// This code produces the following output:
//
// There are 2 unvaccinated animals.
Structure Pet
Public Name As String
Public Vaccinated As Boolean
End Structure
Shared Sub CountEx2()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Vaccinated = True}, _
New Pet With {.Name = "Boots", .Vaccinated = False}, _
New Pet With {.Name = "Whiskers", .Vaccinated = False}}
' Count the number of unvaccinated pets in the array.
Dim numberUnvaccinated As Integer = pets.AsQueryable().Count(Function(p) p.Vaccinated = False)
MsgBox(String.Format("There are {0} unvaccinated animals.", numberUnvaccinated))
End Sub
' This code produces the following output:
'
' There are 2 unvaccinated animals.
Keterangan
Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.
Metode ini Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source
parameter .
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Count<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) tergantung pada implementasi jenis source
parameter. Perilaku yang diharapkan adalah menghitung jumlah item yang source
memenuhi kondisi yang ditentukan oleh predicate
.