BlockingCollection<T> Kelas

Definisi

Menyediakan kemampuan pemblokiran dan pembatas untuk koleksi utas-aman yang mengimplementasikan IProducerConsumerCollection<T>.

generic <typename T>
public ref class BlockingCollection : IDisposable, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection
generic <typename T>
public ref class BlockingCollection : IDisposable, System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
type BlockingCollection<'T> = class
    interface seq<'T>
    interface IEnumerable
    interface IReadOnlyCollection<'T>
    interface ICollection
    interface IDisposable
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface IEnumerable
    interface IReadOnlyCollection<'T>
    interface ICollection
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface ICollection
    interface IEnumerable
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface IEnumerable
    interface ICollection
    interface IDisposable
    interface IReadOnlyCollection<'T>
type BlockingCollection<'T> = class
    interface seq<'T>
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class BlockingCollection(Of T)
Implements ICollection, IDisposable, IEnumerable(Of T), IReadOnlyCollection(Of T)
Public Class BlockingCollection(Of T)
Implements ICollection, IDisposable, IEnumerable(Of T)

Jenis parameter

T

Jenis elemen dalam koleksi.

Warisan
BlockingCollection<T>
Atribut
Penerapan

Contoh

Contoh berikut menunjukkan cara menambahkan dan mengambil item secara bersamaan dari koleksi pemblokiran:

using System;
using System.Collections.Concurrent;
using System.Threading;
using System.Threading.Tasks;

class BlockingCollectionDemo
{
    static async Task Main()
    {
        await AddTakeDemo.BC_AddTakeCompleteAdding();
        TryTakeDemo.BC_TryTake();
        FromToAnyDemo.BC_FromToAny();
        await ConsumingEnumerableDemo.BC_GetConsumingEnumerable();
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
class AddTakeDemo
{
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.Take()
    //      BlockingCollection<T>.CompleteAdding()
    public static async Task BC_AddTakeCompleteAdding()
    {
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {
            // Spin up a Task to populate the BlockingCollection
            Task t1 = Task.Run(() =>
            {
                bc.Add(1);
                bc.Add(2);
                bc.Add(3);
                bc.CompleteAdding();
            });

            // Spin up a Task to consume the BlockingCollection
            Task t2 = Task.Run(() =>
            {
                try
                {
                    // Consume the BlockingCollection
                    while (true) Console.WriteLine(bc.Take());
                }
                catch (InvalidOperationException)
                {
                    // An InvalidOperationException means that Take() was called on a completed collection
                    Console.WriteLine("That's All!");
                }
            });

            await Task.WhenAll(t1, t2);
        }
    }
}

class TryTakeDemo
{
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.TryTake()
    //      BlockingCollection<T>.IsCompleted
    public static void BC_TryTake()
    {
        // Construct and fill our BlockingCollection
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {
            int NUMITEMS = 10000;
            for (int i = 0; i < NUMITEMS; i++) bc.Add(i);
            bc.CompleteAdding();
            int outerSum = 0;

            // Delegate for consuming the BlockingCollection and adding up all items
            Action action = () =>
            {
                int localItem;
                int localSum = 0;

                while (bc.TryTake(out localItem)) localSum += localItem;
                Interlocked.Add(ref outerSum, localSum);
            };

            // Launch three parallel actions to consume the BlockingCollection
            Parallel.Invoke(action, action, action);

            Console.WriteLine("Sum[0..{0}) = {1}, should be {2}", NUMITEMS, outerSum, ((NUMITEMS * (NUMITEMS - 1)) / 2));
            Console.WriteLine("bc.IsCompleted = {0} (should be true)", bc.IsCompleted);
        }
    }
}

class FromToAnyDemo
{
    // Demonstrates:
    //      Bounded BlockingCollection<T>
    //      BlockingCollection<T>.TryAddToAny()
    //      BlockingCollection<T>.TryTakeFromAny()
    public static void BC_FromToAny()
    {
        BlockingCollection<int>[] bcs = new BlockingCollection<int>[2];
        bcs[0] = new BlockingCollection<int>(5); // collection bounded to 5 items
        bcs[1] = new BlockingCollection<int>(5); // collection bounded to 5 items

        // Should be able to add 10 items w/o blocking
        int numFailures = 0;
        for (int i = 0; i < 10; i++)
        {
            if (BlockingCollection<int>.TryAddToAny(bcs, i) == -1) numFailures++;
        }
        Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures);

        // Should be able to retrieve 10 items
        int numItems = 0;
        int item;
        while (BlockingCollection<int>.TryTakeFromAny(bcs, out item) != -1) numItems++;
        Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems);
    }
}

class ConsumingEnumerableDemo
{
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.GetConsumingEnumerable()
    public static async Task BC_GetConsumingEnumerable()
    {
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {
            // Kick off a producer task
            var producerTask = Task.Run(async () =>
            {
                for (int i = 0; i < 10; i++)
                {
                    bc.Add(i);
                    Console.WriteLine($"Producing: {i}");

                    await Task.Delay(100); // sleep 100 ms between adds
                }

                // Need to do this to keep foreach below from hanging
                bc.CompleteAdding();
            });

            // Now consume the blocking collection with foreach.
            // Use bc.GetConsumingEnumerable() instead of just bc because the
            // former will block waiting for completion and the latter will
            // simply take a snapshot of the current state of the underlying collection.
            foreach (var item in bc.GetConsumingEnumerable())
            {
                Console.WriteLine($"Consuming: {item}");
            }
            await producerTask; // Allow task to complete cleanup
        }
    }
}
open System
open System.Collections.Concurrent
open System.Threading
open System.Threading.Tasks

module AddTakeDemo =
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.Take()
    //      BlockingCollection<T>.CompleteAdding()
    let blockingCollectionAddTakeCompleteAdding () =
        task {
            use bc = new BlockingCollection<int>()
            // Spin up a Task to populate the BlockingCollection
            let t1 = 
                task {
                    bc.Add 1
                    bc.Add 2
                    bc.Add 3
                    bc.CompleteAdding()
                }

            // Spin up a Task to consume the BlockingCollection
            let t2 = 
                task {
                    try
                        // Consume consume the BlockingCollection
                        while true do 
                            printfn $"{bc.Take()}"
                    with :? InvalidOperationException ->
                        // An InvalidOperationException means that Take() was called on a completed collection
                        printfn "That's All!"
                }
            let! _ = Task.WhenAll(t1, t2)
            ()
        }

module TryTakeDemo =
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.TryTake()
    //      BlockingCollection<T>.IsCompleted
    let blockingCollectionTryTake () =
        // Construct and fill our BlockingCollection
        use bc = new BlockingCollection<int>()
        let NUMITEMS = 10000;
        for i = 0 to NUMITEMS - 1 do
            bc.Add i
        bc.CompleteAdding()
        let mutable outerSum = 0

        // Delegate for consuming the BlockingCollection and adding up all items
        let action = 
            Action(fun () ->
                let mutable localItem = 0
                let mutable localSum = 0

                while bc.TryTake &localItem do
                    localSum <- localSum + localItem
                Interlocked.Add(&outerSum, localSum)
                |> ignore)

        // Launch three parallel actions to consume the BlockingCollection
        Parallel.Invoke(action, action, action)

        printfn $"Sum[0..{NUMITEMS}) = {outerSum}, should be {((NUMITEMS * (NUMITEMS - 1)) / 2)}"
        printfn $"bc.IsCompleted = {bc.IsCompleted} (should be true)"

module FromToAnyDemo =
    // Demonstrates:
    //      Bounded BlockingCollection<T>
    //      BlockingCollection<T>.TryAddToAny()
    //      BlockingCollection<T>.TryTakeFromAny()
    let blockingCollectionFromToAny () =
        let bcs = 
            [|
                new BlockingCollection<int>(5) // collection bounded to 5 items
                new BlockingCollection<int>(5) // collection bounded to 5 items
             |]
        // Should be able to add 10 items w/o blocking
        let mutable numFailures = 0;
        for i = 0 to 9 do
            if BlockingCollection<int>.TryAddToAny(bcs, i) = -1 then
                numFailures <- numFailures + 1
        printfn $"TryAddToAny: {numFailures} failures (should be 0)"

        // Should be able to retrieve 10 items
        let mutable numItems = 0
        let mutable item = 0
        while BlockingCollection<int>.TryTakeFromAny(bcs, &item) <> -1 do
            numItems <- numItems + 1
        printfn $"TryTakeFromAny: retrieved {numItems} items (should be 10)"

module ConsumingEnumerableDemo =
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.GetConsumingEnumerable()
    let blockingCollectionGetConsumingEnumerable () =
        task {
            use bc = new BlockingCollection<int>()
            // Kick off a producer task
            let producerTask =
                task {
                    for i = 0 to 9 do
                        bc.Add i
                        printfn $"Producing: {i}"

                        do! Task.Delay 100 // sleep 100 ms between adds
                    // Need to do this to keep foreach below from hanging
                    bc.CompleteAdding()
                }

            // Now consume the blocking collection with foreach.
            // Use bc.GetConsumingEnumerable() instead of just bc because the
            // former will block waiting for completion and the latter will
            // simply take a snapshot of the current state of the underlying collection.
            for item in bc.GetConsumingEnumerable() do
                printfn $"Consuming: {item}"
            do! producerTask // Allow task to complete cleanup
        }

let main =
    task {
        do! AddTakeDemo.blockingCollectionAddTakeCompleteAdding ()
        TryTakeDemo.blockingCollectionTryTake ()
        FromToAnyDemo.blockingCollectionFromToAny ()
        do! ConsumingEnumerableDemo.blockingCollectionGetConsumingEnumerable ()
        printfn "Press any key to exit."
        Console.ReadKey(true) |> ignore
    }
main.Wait()
Imports System.Threading.Tasks
Imports System.Collections.Concurrent
Imports System.Threading

Class BlockingCollectionDemo
    Shared Sub Main()
        AddTakeDemo.BC_AddTakeCompleteAdding()
        TryTakeDemo.BC_TryTake()
        ToAnyDemo.BC_ToAny()
        ConsumingEnumerableDemo.BC_GetConsumingEnumerable()
        ' Keep the console window open in debug mode
        Console.WriteLine("Press any key to exit.")
        Console.ReadKey()
    End Sub
End Class

Class AddTakeDemo

    ' Demonstrates:
    ' BlockingCollection<T>.Add()
    ' BlockingCollection<T>.Take()
    ' BlockingCollection<T>.CompleteAdding()
    Shared Sub BC_AddTakeCompleteAdding()
        Using bc As New BlockingCollection(Of Integer)()

            ' Spin up a Task to populate the BlockingCollection 
            Using t1 As Task = Task.Factory.StartNew(
                Sub()
                    bc.Add(1)
                    bc.Add(2)
                    bc.Add(3)
                    bc.CompleteAdding()
                End Sub)
                ' Spin up a Task to consume the BlockingCollection
                Using t2 As Task = Task.Factory.StartNew(
                Sub()
                    Try
                        ' Consume the BlockingCollection
                        While True
                            Console.WriteLine(bc.Take())
                        End While
                    Catch generatedExceptionName As InvalidOperationException
                        ' An InvalidOperationException means that Take() was called on a completed collection
                        Console.WriteLine("That's All!")
                    End Try
                End Sub)

                    Task.WaitAll(t1, t2)
                End Using
            End Using
        End Using
    End Sub



End Class

'Imports System.Collections.Concurrent
'Imports System.Threading
'Imports System.Threading.Tasks

Class TryTakeDemo
    ' Demonstrates:
    ' BlockingCollection<T>.Add()
    ' BlockingCollection<T>.CompleteAdding()
    ' BlockingCollection<T>.TryTake()
    ' BlockingCollection<T>.IsCompleted
    Shared Sub BC_TryTake()
        ' Construct and fill our BlockingCollection
        Using bc As New BlockingCollection(Of Integer)()
            Dim NUMITEMS As Integer = 10000
            For i As Integer = 0 To NUMITEMS - 1
                bc.Add(i)
            Next
            bc.CompleteAdding()
            Dim outerSum As Integer = 0

            ' Delegate for consuming the BlockingCollection and adding up all items
            Dim action As Action =
                Sub()
                    Dim localItem As Integer
                    Dim localSum As Integer = 0

                    While bc.TryTake(localItem)
                        localSum += localItem
                    End While
                    Interlocked.Add(outerSum, localSum)
                End Sub

            ' Launch three parallel actions to consume the BlockingCollection
            Parallel.Invoke(action, action, action)

            Console.WriteLine("Sum[0..{0}) = {1}, should be {2}", NUMITEMS, outerSum, ((NUMITEMS * (NUMITEMS - 1)) / 2))
            Console.WriteLine("bc.IsCompleted = {0} (should be true)", bc.IsCompleted)
        End Using
    End Sub

End Class

'Imports System.Threading.Tasks
'Imports System.Collections.Concurrent

' Demonstrates:
' Bounded BlockingCollection<T>
' BlockingCollection<T>.TryAddToAny()
' BlockingCollection<T>.TryTakeFromAny()
Class ToAnyDemo
    Shared Sub BC_ToAny()
        Dim bcs As BlockingCollection(Of Integer)() = New BlockingCollection(Of Integer)(1) {}
        bcs(0) = New BlockingCollection(Of Integer)(5)
        ' collection bounded to 5 items
        bcs(1) = New BlockingCollection(Of Integer)(5)
        ' collection bounded to 5 items
        ' Should be able to add 10 items w/o blocking
        Dim numFailures As Integer = 0
        For i As Integer = 0 To 9
            If BlockingCollection(Of Integer).TryAddToAny(bcs, i) = -1 Then
                numFailures += 1
            End If
        Next
        Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures)

        ' Should be able to retrieve 10 items
        Dim numItems As Integer = 0
        Dim item As Integer
        While BlockingCollection(Of Integer).TryTakeFromAny(bcs, item) <> -1
            numItems += 1
        End While
        Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems)
    End Sub
End Class

'Imports System.Threading.Tasks
'Imports System.Collections.Concurrent

' Demonstrates:
' BlockingCollection<T>.Add()
' BlockingCollection<T>.CompleteAdding()
' BlockingCollection<T>.GetConsumingEnumerable()

Class ConsumingEnumerableDemo
    Shared Sub BC_GetConsumingEnumerable()
        Using bc As New BlockingCollection(Of Integer)()

            ' Kick off a producer task
            Task.Factory.StartNew(
                Sub()
                    For i As Integer = 0 To 9
                        bc.Add(i)
                        ' sleep 100 ms between adds
                        Thread.Sleep(100)
                    Next

                    ' Need to do this to keep foreach below from not responding.
                    bc.CompleteAdding()
                End Sub)
            ' Now consume the blocking collection with foreach.
            ' Use bc.GetConsumingEnumerable() instead of just bc because the
            ' former will block waiting for completion and the latter will
            ' simply take a snapshot of the current state of the underlying collection.
            For Each item In bc.GetConsumingEnumerable()
                Console.WriteLine(item)
            Next
        End Using
    End Sub
End Class

Keterangan

BlockingCollection<T> adalah kelas koleksi utas aman yang menyediakan hal berikut:

Penting

Jenis ini mengimplementasikan IDisposable antarmuka. Ketika Anda telah selesai menggunakan jenis , Anda harus membuangnya baik secara langsung atau tidak langsung. Untuk membuang jenis secara langsung, panggil metodenya Dispose dalam try/catch blok. Untuk membuangnya secara tidak langsung, gunakan konstruksi bahasa seperti using (di C#) atau Using (di Visual Basic). Untuk informasi selengkapnya, lihat bagian "Menggunakan Objek yang Mengimplementasikan IDisposable" di IDisposable topik antarmuka. Selain itu Dispose() , perhatikan bahwa metode ini tidak aman untuk utas. Semua anggota publik dan terlindungi lainnya aman dari BlockingCollection<T> utas dan dapat digunakan secara bersamaan dari beberapa utas.

IProducerConsumerCollection<T> mewakili koleksi yang memungkinkan penambahan dan penghapusan data dengan aman utas. BlockingCollection<T> digunakan sebagai pembungkus untuk instans IProducerConsumerCollection<T> , dan memungkinkan upaya penghapusan dari koleksi untuk memblokir hingga data tersedia untuk dihapus. Demikian pula, Anda dapat membuat BlockingCollection<T> untuk memberlakukan batas atas pada jumlah elemen data yang diizinkan dalam IProducerConsumerCollection<T>; upaya penambahan ke koleksi kemudian dapat memblokir hingga ruang tersedia untuk menyimpan item yang ditambahkan. Dengan cara ini, BlockingCollection<T> mirip dengan struktur data antrean pemblokiran tradisional, kecuali bahwa mekanisme penyimpanan data yang mendasar diabstraksi sebagai IProducerConsumerCollection<T>.

BlockingCollection<T> mendukung pembatas dan pemblokiran. Pembatas berarti Anda dapat mengatur kapasitas maksimum koleksi. Pembatas penting dalam skenario tertentu karena memungkinkan Anda mengontrol ukuran maksimum koleksi dalam memori, dan mencegah utas yang dihasilkan bergerak terlalu jauh di depan utas yang mengonsumsi. Beberapa utas atau tugas dapat menambahkan item ke koleksi secara bersamaan, dan jika koleksi mencapai kapasitas maksimum yang ditentukan, utas yang dihasilkan akan memblokir hingga item dihapus. Beberapa konsumen dapat menghapus item secara bersamaan, dan jika koleksi menjadi kosong, uts yang digunakan akan memblokir sampai produsen menambahkan item. Utas yang memproduksi dapat memanggil CompleteAdding metode untuk menunjukkan bahwa tidak ada lagi item yang akan ditambahkan. Konsumen memantau IsCompleted properti untuk mengetahui kapan koleksi kosong dan tidak ada lagi item yang akan ditambahkan.

Add operasi dan Take biasanya dilakukan dalam perulangan. Anda dapat membatalkan perulangan dengan meneruskan CancellationToken objek ke TryAdd metode atau TryTake , lalu memeriksa nilai properti token IsCancellationRequested pada setiap perulangan. Jika nilainya , trueterserah Anda untuk menanggapi permintaan pembatalan dengan membersihkan sumber daya apa pun dan keluar dari perulangan.

Saat membuat BlockingCollection<T> objek, Anda dapat menentukan tidak hanya kapasitas terikat tetapi juga jenis koleksi yang akan digunakan. Misalnya, Anda dapat menentukan ConcurrentQueue<T> objek untuk perilaku first in, first out (FIFO), atau ConcurrentStack<T> objek untuk perilaku last in, first out (LIFO). Anda dapat menggunakan kelas koleksi apa pun yang mengimplementasikan IProducerConsumerCollection<T> antarmuka. Jenis koleksi default untuk BlockingCollection<T> adalah ConcurrentQueue<T>.

Jangan ubah koleksi yang mendasar secara langsung. Gunakan BlockingCollection<T> metode untuk menambahkan atau menghapus elemen. Objek BlockingCollection<T> dapat rusak jika Anda mengubah koleksi yang mendasar secara langsung.

BlockingCollection<T> tidak dirancang dengan ingat akses asinkron. Jika aplikasi Anda memerlukan skenario produsen/konsumen asinkron, pertimbangkan untuk menggunakan Channel<T> sebagai gantinya.

Konstruktor

BlockingCollection<T>()

Menginisialisasi instans BlockingCollection<T> baru kelas tanpa batas atas.

BlockingCollection<T>(Int32)

Menginisialisasi instans BlockingCollection<T> baru kelas dengan batas atas yang ditentukan.

BlockingCollection<T>(IProducerConsumerCollection<T>)

Menginisialisasi instans BlockingCollection<T> baru kelas tanpa batas atas dan menggunakan yang disediakan IProducerConsumerCollection<T> sebagai penyimpanan data yang mendasarnya.

BlockingCollection<T>(IProducerConsumerCollection<T>, Int32)

Menginisialisasi instans BlockingCollection<T> baru kelas dengan batas atas yang ditentukan dan menggunakan yang disediakan IProducerConsumerCollection<T> sebagai penyimpanan data dasarnya.

Properti

BoundedCapacity

Mendapatkan kapasitas terikat dari instans ini BlockingCollection<T> .

Count

Mendapatkan jumlah item yang terkandung dalam BlockingCollection<T>.

IsAddingCompleted

Mendapatkan apakah ini BlockingCollection<T> telah ditandai sebagai selesai untuk ditambahkan.

IsCompleted

Mendapatkan apakah ini BlockingCollection<T> telah ditandai sebagai selesai untuk ditambahkan dan kosong.

Metode

Add(T)

Menambahkan item ke BlockingCollection<T>.

Add(T, CancellationToken)

Menambahkan item ke BlockingCollection<T>.

AddToAny(BlockingCollection<T>[], T)

Menambahkan item yang ditentukan ke salah satu instans yang ditentukan BlockingCollection<T> .

AddToAny(BlockingCollection<T>[], T, CancellationToken)

Menambahkan item yang ditentukan ke salah satu instans yang ditentukan BlockingCollection<T> .

CompleteAdding()

Menandai instans BlockingCollection<T> sebagai tidak menerima tambahan lagi.

CopyTo(T[], Int32)

Menyalin semua item dalam BlockingCollection<T> instans ke array satu dimensi yang kompatibel, dimulai dari indeks array target yang ditentukan.

Dispose()

Merilis semua sumber daya yang digunakan oleh instans BlockingCollection<T> kelas saat ini.

Dispose(Boolean)

Merilis sumber daya yang BlockingCollection<T> digunakan oleh instans.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetConsumingEnumerable()

Menyediakan konsumsi IEnumerable<T> untuk item dalam koleksi.

GetConsumingEnumerable(CancellationToken)

Menyediakan konsumsi IEnumerable<T> untuk item dalam koleksi.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
Take()

Menghapus item dari BlockingCollection<T>.

Take(CancellationToken)

Menghapus item dari BlockingCollection<T>.

TakeFromAny(BlockingCollection<T>[], T)

Mengambil item dari salah satu instans yang ditentukan BlockingCollection<T> .

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

Mengambil item dari salah satu instans yang ditentukan BlockingCollection<T> saat mengamati token pembatalan yang ditentukan.

ToArray()

Menyalin item dari BlockingCollection<T> instans ke dalam array baru.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TryAdd(T)

Mencoba menambahkan item yang ditentukan ke BlockingCollection<T>.

TryAdd(T, Int32)

Mencoba menambahkan item yang ditentukan ke BlockingCollection<T> dalam periode waktu yang ditentukan.

TryAdd(T, Int32, CancellationToken)

Mencoba menambahkan item yang ditentukan ke BlockingCollection<T> dalam periode waktu yang ditentukan, sambil mengamati token pembatalan.

TryAdd(T, TimeSpan)

Mencoba menambahkan item yang ditentukan ke BlockingCollection<T>.

TryAddToAny(BlockingCollection<T>[], T)

Mencoba menambahkan item yang ditentukan ke salah satu instans yang ditentukan BlockingCollection<T> .

TryAddToAny(BlockingCollection<T>[], T, Int32)

Mencoba menambahkan item yang ditentukan ke salah satu instans yang ditentukan BlockingCollection<T> .

TryAddToAny(BlockingCollection<T>[], T, Int32, CancellationToken)

Mencoba menambahkan item yang ditentukan ke salah satu instans yang ditentukan BlockingCollection<T> .

TryAddToAny(BlockingCollection<T>[], T, TimeSpan)

Mencoba menambahkan item yang ditentukan ke salah satu instans yang ditentukan BlockingCollection<T> saat mengamati token pembatalan yang ditentukan.

TryTake(T)

Mencoba menghapus item dari BlockingCollection<T>.

TryTake(T, Int32)

Mencoba menghapus item dari BlockingCollection<T> dalam periode waktu yang ditentukan.

TryTake(T, Int32, CancellationToken)

Mencoba menghapus item dari BlockingCollection<T> dalam periode waktu yang ditentukan saat mengamati token pembatalan.

TryTake(T, TimeSpan)

Mencoba menghapus item dari BlockingCollection<T> dalam periode waktu yang ditentukan.

TryTakeFromAny(BlockingCollection<T>[], T)

Mencoba menghapus item dari salah satu instans yang ditentukan BlockingCollection<T> .

TryTakeFromAny(BlockingCollection<T>[], T, Int32)

Mencoba menghapus item dari salah satu instans yang ditentukan BlockingCollection<T> .

TryTakeFromAny(BlockingCollection<T>[], T, Int32, CancellationToken)

Mencoba menghapus item dari salah satu instans yang ditentukan BlockingCollection<T> .

TryTakeFromAny(BlockingCollection<T>[], T, TimeSpan)

Mencoba menghapus item dari salah satu instans yang ditentukan BlockingCollection<T> .

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

Menyalin semua item dalam BlockingCollection<T> instans ke array satu dimensi yang kompatibel, dimulai dari indeks array target yang ditentukan.

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan ICollection (utas aman).

ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ICollection. Properti ini tidak didukung.

IEnumerable.GetEnumerator()

IEnumerator Menyediakan untuk item dalam koleksi.

IEnumerable<T>.GetEnumerator()

IEnumerator<T> Menyediakan untuk item dalam koleksi.

Metode Ekstensi

ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

FrozenDictionary<TKey,TValue> Membuat dari sesuai dengan fungsi pemilih kunci yang IEnumerable<T> ditentukan.

ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

FrozenDictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan pemilih kunci dan fungsi pemilih elemen yang ditentukan.

ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>)

FrozenSet<T> Membuat dengan nilai yang ditentukan.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Membuat array yang tidak dapat diubah dari koleksi yang ditentukan.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Membangun kamus yang tidak dapat diubah dari kumpulan elemen yang ada, menerapkan fungsi transformasi ke kunci sumber.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Membangun kamus yang tidak dapat diubah berdasarkan beberapa transformasi urutan.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Menghitung dan mengubah urutan, dan menghasilkan kamus kontennya yang tidak dapat diubah.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>)

Menghitung dan mengubah urutan, dan menghasilkan kamus konten yang tidak dapat diubah dengan menggunakan pembanding kunci yang ditentukan.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>)

Menghitung dan mengubah urutan, dan menghasilkan kamus konten yang tidak dapat diubah dengan menggunakan pembanding kunci dan nilai yang ditentukan.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Menghitung urutan dan menghasilkan set hash yang tidak dapat diubah dari isinya.

ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Menghitung urutan, menghasilkan set hash yang tidak dapat diubah dari kontennya, dan menggunakan perbandingan kesetaraan yang ditentukan untuk jenis yang ditetapkan.

ToImmutableList<TSource>(IEnumerable<TSource>)

Menghitung urutan dan menghasilkan daftar konten yang tidak dapat diubah.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Menghitung dan mengubah urutan, dan menghasilkan kamus kontennya yang diurutkan tidak dapat diubah.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>)

Menghitung dan mengubah urutan, dan menghasilkan kamus yang diurutkan tidak dapat diubah dari kontennya dengan menggunakan pembanding kunci yang ditentukan.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>)

Menghitung dan mengubah urutan, dan menghasilkan kamus kontennya yang diurutkan yang tidak dapat diubah dengan menggunakan pembanding kunci dan nilai yang ditentukan.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Menghitung urutan dan menghasilkan sekumpulan kontennya yang tidak dapat diubah.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Menghitung urutan, menghasilkan sekumpulan kontennya yang tidak dapat diubah, dan menggunakan perbandingan yang ditentukan.

CopyToDataTable<T>(IEnumerable<T>)

Mengembalikan DataTable yang berisi salinan DataRow objek, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>)

Menerapkan fungsi akumulator secara berurutan.

Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)

Menerapkan fungsi akumulator secara berurutan. Nilai seed yang ditentukan digunakan sebagai nilai akumulator awal.

Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)

Menerapkan fungsi akumulator secara berurutan. Nilai seed yang ditentukan digunakan sebagai nilai akumulator awal, dan fungsi yang ditentukan digunakan untuk memilih nilai hasil.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Menyediakan kemampuan pemblokiran dan pembatas untuk koleksi utas-aman yang mengimplementasikan IProducerConsumerCollection<T>.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Menyediakan kemampuan pemblokiran dan pembatas untuk koleksi utas-aman yang mengimplementasikan IProducerConsumerCollection<T>.

All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Menentukan apakah semua elemen urutan memenuhi suatu kondisi.

Any<TSource>(IEnumerable<TSource>)

Menentukan apakah urutan berisi elemen apa pun.

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Menentukan apakah ada elemen urutan yang memenuhi kondisi.

Append<TSource>(IEnumerable<TSource>, TSource)

Menambahkan nilai ke akhir urutan.

AsEnumerable<TSource>(IEnumerable<TSource>)

Menghasilkan input yang diketik sebagai IEnumerable<T>.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Menghitung rata-rata urutan Decimal nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Menghitung rata-rata urutan Double nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Menghitung rata-rata urutan Int32 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Menghitung rata-rata urutan Int64 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Menghitung rata-rata urutan nilai nullable Decimal yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Menghitung rata-rata urutan nilai nullable Double yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Menghitung rata-rata urutan nilai nullable Int32 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Menghitung rata-rata urutan nilai nullable Int64 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Menghitung rata-rata urutan nilai nullable Single yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Menghitung rata-rata urutan Single nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

Chunk<TSource>(IEnumerable<TSource>, Int32)

Membagi elemen urutan menjadi potongan ukuran paling banyak size.

Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Menggabungkan dua urutan.

Contains<TSource>(IEnumerable<TSource>, TSource)

Menentukan apakah urutan berisi elemen tertentu dengan menggunakan perbandingan kesetaraan default.

Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>)

Menentukan apakah urutan berisi elemen tertentu dengan menggunakan IEqualityComparer<T>.

Count<TSource>(IEnumerable<TSource>)

Mengembalikan jumlah elemen secara berurutan.

Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan angka yang menunjukkan berapa banyak elemen dalam urutan yang ditentukan memenuhi kondisi.

CountBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Menyediakan kemampuan pemblokiran dan pembatas untuk koleksi utas-aman yang mengimplementasikan IProducerConsumerCollection<T>.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Mengembalikan elemen urutan yang ditentukan atau nilai default parameter jenis dalam koleksi database tunggal jika urutannya kosong.

DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)

Mengembalikan elemen urutan yang ditentukan atau nilai yang ditentukan dalam koleksi singleton jika urutannya kosong.

Distinct<TSource>(IEnumerable<TSource>)

Mengembalikan elemen yang berbeda dari urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.

Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Mengembalikan elemen yang berbeda dari urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Mengembalikan elemen yang berbeda dari urutan sesuai dengan fungsi pemilih kunci yang ditentukan.

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Mengembalikan elemen yang berbeda dari urutan sesuai dengan fungsi pemilih kunci tertentu dan menggunakan perbandingan yang ditentukan untuk membandingkan kunci.

ElementAt<TSource>(IEnumerable<TSource>, Index)

Mengembalikan elemen pada indeks tertentu secara berurutan.

ElementAt<TSource>(IEnumerable<TSource>, Int32)

Mengembalikan elemen pada indeks tertentu secara berurutan.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index)

Mengembalikan elemen pada indeks tertentu secara berurutan atau nilai default jika indeks berada di luar rentang.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)

Mengembalikan elemen pada indeks tertentu secara berurutan atau nilai default jika indeks berada di luar rentang.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Menghasilkan perbedaan yang ditetapkan dari dua urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.

ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>)

Menghasilkan perbedaan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Menghasilkan perbedaan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

First<TSource>(IEnumerable<TSource>)

Mengembalikan elemen pertama dari urutan.

First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan elemen pertama dalam urutan yang memenuhi kondisi tertentu.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Mengembalikan elemen pertama dari urutan, atau nilai default jika urutan tidak berisi elemen.

FirstOrDefault<TSource>(IEnumerable<TSource>, TSource)

Mengembalikan elemen pertama dari urutan, atau nilai default yang ditentukan jika urutan tidak berisi elemen.

FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan elemen pertama dari urutan yang memenuhi kondisi atau nilai default jika tidak ada elemen tersebut yang ditemukan.

FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)

Mengembalikan elemen pertama dari urutan yang memenuhi kondisi, atau nilai default yang ditentukan jika tidak ada elemen tersebut yang ditemukan.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membandingkan kunci dengan menggunakan perbandingan yang ditentukan.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan memproyeksikan elemen untuk setiap grup dengan menggunakan fungsi tertentu.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci. Kunci dibandingkan dengan menggunakan perbandingan dan elemen setiap grup diproyeksikan dengan menggunakan fungsi tertentu.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya. Kunci dibandingkan dengan menggunakan perbandingan yang ditentukan.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>,TResult>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya. Elemen dari setiap grup diproyeksikan dengan menggunakan fungsi tertentu.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Mengelompokkan elemen urutan sesuai dengan fungsi pemilih kunci tertentu dan membuat nilai hasil dari setiap grup dan kuncinya. Nilai kunci dibandingkan dengan menggunakan perbandingan tertentu, dan elemen setiap grup diproyeksikan dengan menggunakan fungsi tertentu.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

Menghubungkan elemen dari dua urutan berdasarkan kesetaraan kunci dan mengelompokkan hasilnya. Perbandingan kesetaraan default digunakan untuk membandingkan kunci.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Menghubungkan elemen dari dua urutan berdasarkan kesetaraan kunci dan mengelompokkan hasilnya. Yang ditentukan IEqualityComparer<T> digunakan untuk membandingkan kunci.

Index<TSource>(IEnumerable<TSource>)

Menyediakan kemampuan pemblokiran dan pembatas untuk koleksi utas-aman yang mengimplementasikan IProducerConsumerCollection<T>.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Menghasilkan persimpangan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Menghasilkan persimpangan yang ditetapkan dari dua urutan dengan menggunakan yang ditentukan untuk membandingkan IEqualityComparer<T> nilai.

IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>)

Menghasilkan persimpangan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci yang ditentukan.

IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Menghasilkan persimpangan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci yang ditentukan.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>)

Menghubungkan elemen dari dua urutan berdasarkan kunci yang cocok. Perbandingan kesetaraan default digunakan untuk membandingkan kunci.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>)

Menghubungkan elemen dari dua urutan berdasarkan kunci yang cocok. Yang ditentukan IEqualityComparer<T> digunakan untuk membandingkan kunci.

Last<TSource>(IEnumerable<TSource>)

Mengembalikan elemen terakhir dari urutan.

Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan elemen terakhir dari urutan yang memenuhi kondisi tertentu.

LastOrDefault<TSource>(IEnumerable<TSource>)

Mengembalikan elemen terakhir dari urutan, atau nilai default jika urutan tidak berisi elemen.

LastOrDefault<TSource>(IEnumerable<TSource>, TSource)

Mengembalikan elemen terakhir dari urutan, atau nilai default yang ditentukan jika urutan tidak berisi elemen.

LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan elemen terakhir dari urutan yang memenuhi kondisi atau nilai default jika tidak ada elemen tersebut yang ditemukan.

LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)

Mengembalikan elemen terakhir dari urutan yang memenuhi kondisi, atau nilai default yang ditentukan jika tidak ada elemen tersebut yang ditemukan.

LongCount<TSource>(IEnumerable<TSource>)

Mengembalikan yang Int64 menunjukkan jumlah total elemen dalam urutan.

LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan yang Int64 mewakili berapa banyak elemen dalam urutan yang memenuhi kondisi.

Max<TSource>(IEnumerable<TSource>)

Mengembalikan nilai maksimum dalam urutan generik.

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Mengembalikan nilai maksimum dalam urutan generik.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Decimal .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Double .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Int32 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Int64 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Decimal null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Double null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Int32 null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Int64 null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum yang dapat diubah ke Single null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai maksimum Single .

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Memanggil fungsi transformasi pada setiap elemen urutan generik dan mengembalikan nilai maksimum yang dihasilkan.

MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Mengembalikan nilai maksimum dalam urutan generik sesuai dengan fungsi pemilih kunci yang ditentukan.

MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Mengembalikan nilai maksimum dalam urutan generik sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

Min<TSource>(IEnumerable<TSource>)

Mengembalikan nilai minimum dalam urutan generik.

Min<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Mengembalikan nilai minimum dalam urutan generik.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Decimal .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Double .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Int32 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Int64 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Decimal null.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Double null.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Int32 null.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Int64 null.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum yang dapat diubah ke Single null.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Memanggil fungsi transformasi pada setiap elemen urutan dan mengembalikan nilai minimum Single .

Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Memanggil fungsi transformasi pada setiap elemen urutan generik dan mengembalikan nilai minimum yang dihasilkan.

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Mengembalikan nilai minimum dalam urutan generik sesuai dengan fungsi pemilih kunci yang ditentukan.

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Mengembalikan nilai minimum dalam urutan generik sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

Order<T>(IEnumerable<T>)

Mengurutkan elemen urutan dalam urutan naik.

Order<T>(IEnumerable<T>, IComparer<T>)

Mengurutkan elemen urutan dalam urutan naik.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Mengurutkan elemen urutan dalam urutan naik sesuai dengan kunci.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Mengurutkan elemen urutan dalam urutan naik dengan menggunakan perbandingan yang ditentukan.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Mengurutkan elemen urutan dalam urutan turun sesuai dengan kunci.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Mengurutkan elemen urutan dalam urutan menurun dengan menggunakan perbandingan yang ditentukan.

OrderDescending<T>(IEnumerable<T>)

Mengurutkan elemen urutan dalam urutan turun.

OrderDescending<T>(IEnumerable<T>, IComparer<T>)

Mengurutkan elemen urutan dalam urutan turun.

Prepend<TSource>(IEnumerable<TSource>, TSource)

Menambahkan nilai ke awal urutan.

Reverse<TSource>(IEnumerable<TSource>)

Menginversi urutan elemen secara berurutan.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Memproyeksikan setiap elemen urutan ke dalam bentuk baru.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>)

Memproyeksikan setiap elemen urutan ke dalam bentuk baru dengan menggabungkan indeks elemen.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>)

Memproyeksikan setiap elemen urutan ke dan IEnumerable<T> meratakan urutan yang dihasilkan menjadi satu urutan.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>)

Memproyeksikan setiap elemen dari urutan ke IEnumerable<T>, dan meratakan urutan yang dihasilkan menjadi satu urutan. Indeks setiap elemen sumber digunakan dalam bentuk elemen yang diproyeksikan.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Memproyeksikan setiap elemen dari urutan ke IEnumerable<T>, meratakan urutan yang dihasilkan menjadi satu urutan, dan memanggil fungsi pemilih hasil pada setiap elemen di dalamnya.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Memproyeksikan setiap elemen dari urutan ke IEnumerable<T>, meratakan urutan yang dihasilkan menjadi satu urutan, dan memanggil fungsi pemilih hasil pada setiap elemen di dalamnya. Indeks setiap elemen sumber digunakan dalam bentuk yang diproyeksikan perantara dari elemen tersebut.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Menentukan apakah dua urutan sama dengan membandingkan elemen dengan menggunakan perbandingan kesetaraan default untuk jenisnya.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Menentukan apakah dua urutan sama dengan membandingkan elemennya dengan menggunakan IEqualityComparer<T>.

Single<TSource>(IEnumerable<TSource>)

Mengembalikan satu-satunya elemen dari urutan, dan melemparkan pengecualian jika tidak ada tepat satu elemen dalam urutan.

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan satu-satunya elemen urutan yang memenuhi kondisi tertentu, dan melemparkan pengecualian jika ada lebih dari satu elemen tersebut.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Mengembalikan satu-satunya elemen urutan, atau nilai default jika urutan kosong; metode ini memberikan pengecualian jika ada lebih dari satu elemen dalam urutan.

SingleOrDefault<TSource>(IEnumerable<TSource>, TSource)

Mengembalikan satu-satunya elemen dari urutan, atau nilai default yang ditentukan jika urutannya kosong; metode ini memberikan pengecualian jika ada lebih dari satu elemen dalam urutan.

SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan satu-satunya elemen urutan yang memenuhi kondisi tertentu atau nilai default jika tidak ada elemen tersebut; metode ini memberikan pengecualian jika lebih dari satu elemen memenuhi kondisi.

SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)

Mengembalikan satu-satunya elemen urutan yang memenuhi kondisi tertentu, atau nilai default yang ditentukan jika tidak ada elemen tersebut; metode ini memberikan pengecualian jika lebih dari satu elemen memenuhi kondisi.

Skip<TSource>(IEnumerable<TSource>, Int32)

Melewati jumlah elemen tertentu secara berurutan lalu mengembalikan elemen yang tersisa.

SkipLast<TSource>(IEnumerable<TSource>, Int32)

Mengembalikan koleksi enumerasi baru yang berisi elemen dari source dengan elemen terakhir count dari koleksi sumber yang dihilangkan.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Melewati elemen secara berurutan selama kondisi yang ditentukan benar lalu mengembalikan elemen yang tersisa. Indeks elemen digunakan dalam logika fungsi predikat.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Menghitung jumlah urutan Decimal nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Menghitung jumlah urutan Double nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Menghitung jumlah urutan Int32 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Menghitung jumlah urutan Int64 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Menghitung jumlah urutan nilai nullable Decimal yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Menghitung jumlah urutan nilai nullable Double yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Menghitung jumlah urutan nilai nullable Int32 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Menghitung jumlah urutan nilai nullable Int64 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Menghitung jumlah urutan nilai nullable Single yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Menghitung jumlah urutan Single nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Take<TSource>(IEnumerable<TSource>, Int32)

Mengembalikan jumlah elemen yang bersebelahan yang ditentukan dari awal urutan.

Take<TSource>(IEnumerable<TSource>, Range)

Mengembalikan rentang elemen yang bersebelahan yang ditentukan dari urutan.

TakeLast<TSource>(IEnumerable<TSource>, Int32)

Mengembalikan koleksi enumerasi baru yang berisi elemen terakhir count dari source.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Mengembalikan elemen dari urutan selama kondisi yang ditentukan benar.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Mengembalikan elemen dari urutan selama kondisi yang ditentukan benar. Indeks elemen digunakan dalam logika fungsi predikat.

ToArray<TSource>(IEnumerable<TSource>)

Membuat array dari IEnumerable<T>.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Dictionary<TKey,TValue> Membuat dari sesuai IEnumerable<T> dengan fungsi pemilih kunci tertentu.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan pemilih kunci dan fungsi pemilih elemen yang ditentukan.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu, perbandingan, dan fungsi pemilih elemen.

ToHashSet<TSource>(IEnumerable<TSource>)

HashSet<T> Membuat dari IEnumerable<T>.

ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

HashSet<T> Membuat dari IEnumerable<T> menggunakan comparer untuk membandingkan kunci.

ToList<TSource>(IEnumerable<TSource>)

List<T> Membuat dari IEnumerable<T>.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Lookup<TKey,TElement> Membuat dari sesuai IEnumerable<T> dengan fungsi pemilih kunci tertentu.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Lookup<TKey,TElement> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Lookup<TKey,TElement> Membuat dari IEnumerable<T> sesuai dengan pemilih kunci dan fungsi pemilih elemen yang ditentukan.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Lookup<TKey,TElement> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu, perbandingan, dan fungsi pemilih elemen.

TryGetNonEnumeratedCount<TSource>(IEnumerable<TSource>, Int32)

Mencoba menentukan jumlah elemen dalam urutan tanpa memaksa enumerasi.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Menghasilkan penyatuan yang ditetapkan dari dua urutan dengan menggunakan perbandingan kesetaraan default.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Menghasilkan penyatuan yang ditetapkan dari dua urutan dengan menggunakan IEqualityComparer<T>.

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>)

Menghasilkan penyatuan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Menghasilkan penyatuan yang ditetapkan dari dua urutan sesuai dengan fungsi pemilih kunci tertentu.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Memfilter urutan nilai berdasarkan predikat.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Memfilter urutan nilai berdasarkan predikat. Indeks setiap elemen digunakan dalam logika fungsi predikat.

Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>)

Menghasilkan urutan tuple dengan elemen dari dua urutan yang ditentukan.

Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)

Menghasilkan urutan tuple dengan elemen dari tiga urutan yang ditentukan.

Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)

Menerapkan fungsi tertentu ke elemen yang sesuai dari dua urutan, menghasilkan urutan hasil.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsParallel<TSource>(IEnumerable<TSource>)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Mengonversi generik IEnumerable<T> menjadi generik IQueryable<T>.

Ancestors<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen yang berisi leluhur setiap simpul dalam kumpulan sumber.

Ancestors<T>(IEnumerable<T>, XName)

Mengembalikan kumpulan elemen yang difilter yang berisi leluhur setiap simpul dalam kumpulan sumber. Hanya elemen yang memiliki pencocokan XName yang disertakan dalam koleksi.

DescendantNodes<T>(IEnumerable<T>)

Mengembalikan kumpulan simpul turunan dari setiap dokumen dan elemen dalam kumpulan sumber.

Descendants<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen yang berisi elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber.

Descendants<T>(IEnumerable<T>, XName)

Mengembalikan kumpulan elemen yang difilter yang berisi elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber. Hanya elemen yang memiliki pencocokan XName yang disertakan dalam koleksi.

Elements<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen anak dari setiap elemen dan dokumen dalam kumpulan sumber.

Elements<T>(IEnumerable<T>, XName)

Mengembalikan kumpulan elemen turunan yang difilter dari setiap elemen dan dokumen dalam kumpulan sumber. Hanya elemen yang memiliki pencocokan XName yang disertakan dalam koleksi.

InDocumentOrder<T>(IEnumerable<T>)

Mengembalikan kumpulan simpul yang berisi semua simpul dalam kumpulan sumber, diurutkan dalam urutan dokumen.

Nodes<T>(IEnumerable<T>)

Mengembalikan kumpulan simpul anak dari setiap dokumen dan elemen dalam kumpulan sumber.

Remove<T>(IEnumerable<T>)

Menghapus setiap simpul dalam kumpulan sumber dari simpul induknya.

Berlaku untuk

Keamanan Thread

Metode Buang tidak aman untuk utas. Semua anggota BlockingCollection<T> publik dan terlindungi lainnya aman dari utas dan dapat digunakan secara bersamaan dari beberapa utas.

Lihat juga