Поделиться через


IProducerConsumerCollection<T> Интерфейс

Определение

Определяет методы для управления потоками безопасных коллекций, предназначенных для использования производителя или потребителя. Этот интерфейс предоставляет единое представление для коллекций производителей и потребителей, чтобы более высокий уровень абстракций, таких как BlockingCollection<T>, может использовать коллекцию в качестве базового механизма хранения.

generic <typename T>
public interface class IProducerConsumerCollection : System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public interface IProducerConsumerCollection<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
type IProducerConsumerCollection<'T> = interface
    interface seq<'T>
    interface IEnumerable
    interface ICollection
type IProducerConsumerCollection<'T> = interface
    interface seq<'T>
    interface ICollection
    interface IEnumerable
Public Interface IProducerConsumerCollection(Of T)
Implements ICollection, IEnumerable(Of T)

Параметры типа

T

Указывает тип элементов в коллекции.

Производный
Реализации

Примеры

В следующем примере показана структура данных стека, реализующая System.Collections.Concurrent.IProducerConsumerCollection<T>.

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

// Sample implementation of IProducerConsumerCollection(T)
// -- in this case, a thread-safe stack.
public class SafeStack<T> : IProducerConsumerCollection<T>
{
    // Used for enforcing thread-safety
    private object m_lockObject = new object();

    // We'll use a regular old Stack for our core operations
    private Stack<T> m_sequentialStack = null;

    //
    // Constructors
    //
    public SafeStack()
    {
        m_sequentialStack = new Stack<T>();
    }

    public SafeStack(IEnumerable<T> collection)
    {
        m_sequentialStack = new Stack<T>(collection);
    }

    //
    // Safe Push/Pop support
    //
    public void Push(T item)
    {
        lock (m_lockObject) m_sequentialStack.Push(item);
    }

    public bool TryPop(out T item)
    {
        bool rval = true;
        lock (m_lockObject)
        {
            if (m_sequentialStack.Count == 0) { item = default(T); rval = false; }
            else
            {
                item = m_sequentialStack.Pop();
            }
        }
        return rval;
    }

    //
    // IProducerConsumerCollection(T) support
    //
    public bool TryTake(out T item)
    {
        return TryPop(out item);
    }

    public bool TryAdd(T item)
    {
        Push(item);
        return true; // Push doesn't fail
    }

    public T[] ToArray()
    {
        T[] rval = null;
        lock (m_lockObject) rval = m_sequentialStack.ToArray();
        return rval;
    }

    public void CopyTo(T[] array, int index)
    {
        lock (m_lockObject) m_sequentialStack.CopyTo(array, index);
    }

    //
    // Support for IEnumerable(T)
    //
    public IEnumerator<T> GetEnumerator()
    {
        // The performance here will be unfortunate for large stacks,
        // but thread-safety is effectively implemented.
        Stack<T> stackCopy = null;
        lock (m_lockObject) stackCopy = new Stack<T>(m_sequentialStack);
        return stackCopy.GetEnumerator();
    }

    //
    // Support for IEnumerable
    //
    IEnumerator IEnumerable.GetEnumerator()
    {
        return ((IEnumerable<T>)this).GetEnumerator();
    }

    //
    // Support for ICollection
    //
    public bool IsSynchronized
    {
        get { return true; }
    }

    public object SyncRoot
    {
        get { return m_lockObject; }
    }

    public int Count
    {
        get { return m_sequentialStack.Count; }
    }

    public void CopyTo(Array array, int index)
    {
        lock (m_lockObject) ((ICollection)m_sequentialStack).CopyTo(array, index);
    }
}

public class Program
{
    static void Main()
    {
        TestSafeStack();

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }

    // Test our implementation of IProducerConsumerCollection(T)
    // Demonstrates:
    //      IPCC(T).TryAdd()
    //      IPCC(T).TryTake()
    //      IPCC(T).CopyTo()
    static void TestSafeStack()
    {
        SafeStack<int> stack = new SafeStack<int>();
        IProducerConsumerCollection<int> ipcc = (IProducerConsumerCollection<int>)stack;

        // Test Push()/TryAdd()
        stack.Push(10); Console.WriteLine("Pushed 10");
        ipcc.TryAdd(20); Console.WriteLine("IPCC.TryAdded 20");
        stack.Push(15); Console.WriteLine("Pushed 15");

        int[] testArray = new int[3];

        // Try CopyTo() within boundaries
        try
        {
            ipcc.CopyTo(testArray, 0);
            Console.WriteLine("CopyTo() within boundaries worked, as expected");
        }
        catch (Exception e)
        {
            Console.WriteLine("CopyTo() within boundaries unexpectedly threw an exception: {0}", e.Message);
        }

        // Try CopyTo() that overflows
        try
        {
            ipcc.CopyTo(testArray, 1);
            Console.WriteLine("CopyTo() with index overflow worked, and it SHOULD NOT HAVE");
        }
        catch (Exception e)
        {
            Console.WriteLine("CopyTo() with index overflow threw an exception, as expected: {0}", e.Message);
        }

        // Test enumeration
        Console.Write("Enumeration (should be three items): ");
        foreach (int item in stack) Console.Write("{0} ", item);
        Console.WriteLine("");

        // Test TryPop()
        int popped = 0;
        if (stack.TryPop(out popped))
        {
            Console.WriteLine("Successfully popped {0}", popped);
        }
        else
        {
            Console.WriteLine("FAILED to pop!!");
        }

        // Test Count
        Console.WriteLine("stack count is {0}, should be 2", stack.Count);

        // Test TryTake()
        if (ipcc.TryTake(out popped))
        {
            Console.WriteLine("Successfully IPCC-TryTaked {0}", popped);
        }
        else
        {
            Console.WriteLine("FAILED to IPCC.TryTake!!");
        }
    }
}
Imports System.Collections.Concurrent

Module IProdCon
    ' Sample implementation of IProducerConsumerCollection(T) -- in this case,
    ' a thread-safe stack.
    Public Class SafeStack(Of T)
        Implements IProducerConsumerCollection(Of T)

        ' Used for enforcing thread-safety
        Private m_lockObject As New Object()

        ' We'll use a regular old Stack for our core operations
        Private m_sequentialStack As Stack(Of T) = Nothing

        '
        ' Constructors
        '
        Public Sub New()
            m_sequentialStack = New Stack(Of T)()
        End Sub

        Public Sub New(ByVal collection As IEnumerable(Of T))
            m_sequentialStack = New Stack(Of T)(collection)
        End Sub

        '
        ' Safe Push/Pop support
        '
        Public Sub Push(ByVal item As T)
            SyncLock m_lockObject
                m_sequentialStack.Push(item)
            End SyncLock
        End Sub

        Public Function TryPop(ByRef item As T) As Boolean
            Dim rval As Boolean = True
            SyncLock m_lockObject
                If m_sequentialStack.Count = 0 Then
                    item = Nothing
                    rval = False
                Else
                    item = m_sequentialStack.Pop()
                End If
            End SyncLock
            Return rval
        End Function

        '
        ' IProducerConsumerCollection(T) support
        '
        Public Function TryTake(ByRef item As T) As Boolean Implements IProducerConsumerCollection(Of T).TryTake
            Return TryPop(item)
        End Function

        Public Function TryAdd(ByVal item As T) As Boolean Implements IProducerConsumerCollection(Of T).TryAdd
            Push(item)
            ' Push doesn't fail
            Return True
        End Function

        Public Function ToArray() As T() Implements IProducerConsumerCollection(Of T).ToArray
            Dim rval As T() = Nothing
            SyncLock m_lockObject
                rval = m_sequentialStack.ToArray()
            End SyncLock
            Return rval
        End Function

        Public Sub CopyTo(ByVal array As T(), ByVal index As Integer) Implements IProducerConsumerCollection(Of T).CopyTo
            SyncLock m_lockObject
                m_sequentialStack.CopyTo(array, index)
            End SyncLock
        End Sub



        '
        ' Support for IEnumerable(T)
        '
        Public Function GetEnumerator() As IEnumerator(Of T) Implements IEnumerable(Of T).GetEnumerator
            ' The performance here will be unfortunate for large stacks,
            ' but thread-safety is effectively implemented.
            Dim stackCopy As Stack(Of T) = Nothing
            SyncLock m_lockObject
                stackCopy = New Stack(Of T)(m_sequentialStack)
            End SyncLock
            Return stackCopy.GetEnumerator()
        End Function


        '
        ' Support for IEnumerable
        '
        Private Function GetEnumerator2() As IEnumerator Implements IEnumerable.GetEnumerator
            Return DirectCast(Me, IEnumerable(Of T)).GetEnumerator()
        End Function

        ' 
        ' Support for ICollection
        '
        Public ReadOnly Property IsSynchronized() As Boolean Implements ICollection.IsSynchronized
            Get
                Return True
            End Get
        End Property

        Public ReadOnly Property SyncRoot() As Object Implements ICollection.SyncRoot
            Get
                Return m_lockObject
            End Get
        End Property

        Public ReadOnly Property Count() As Integer Implements ICollection.Count
            Get
                Return m_sequentialStack.Count
            End Get
        End Property

        Public Sub CopyTo(ByVal array As Array, ByVal index As Integer) Implements ICollection.CopyTo
            SyncLock m_lockObject
                DirectCast(m_sequentialStack, ICollection).CopyTo(array, index)
            End SyncLock
        End Sub
    End Class

    ' Test our implementation of IProducerConsumerCollection(T)
    ' Demonstrates:
    ' IPCC(T).TryAdd()
    ' IPCC(T).TryTake()
    ' IPCC(T).CopyTo()
    Private Sub TestSafeStack()
        Dim stack As New SafeStack(Of Integer)()
        Dim ipcc As IProducerConsumerCollection(Of Integer) = DirectCast(stack, IProducerConsumerCollection(Of Integer))

        ' Test Push()/TryAdd()
        stack.Push(10)
        Console.WriteLine("Pushed 10")
        ipcc.TryAdd(20)
        Console.WriteLine("IPCC.TryAdded 20")
        stack.Push(15)
        Console.WriteLine("Pushed 15")

        Dim testArray As Integer() = New Integer(2) {}

        ' Try CopyTo() within boundaries
        Try
            ipcc.CopyTo(testArray, 0)
            Console.WriteLine("CopyTo() within boundaries worked, as expected")
        Catch e As Exception
            Console.WriteLine("CopyTo() within boundaries unexpectedly threw an exception: {0}", e.Message)
        End Try

        ' Try CopyTo() that overflows
        Try
            ipcc.CopyTo(testArray, 1)
            Console.WriteLine("CopyTo() with index overflow worked, and it SHOULD NOT HAVE")
        Catch e As Exception
            Console.WriteLine("CopyTo() with index overflow threw an exception, as expected: {0}", e.Message)
        End Try

        ' Test enumeration
        Console.Write("Enumeration (should be three items): ")
        For Each item As Integer In stack
            Console.Write("{0} ", item)
        Next
        Console.WriteLine("")

        ' Test TryPop()
        Dim popped As Integer = 0
        If stack.TryPop(popped) Then
            Console.WriteLine("Successfully popped {0}", popped)
        Else
            Console.WriteLine("FAILED to pop!!")
        End If

        ' Test Count
        Console.WriteLine("stack count is {0}, should be 2", stack.Count)

        ' Test TryTake()
        If ipcc.TryTake(popped) Then
            Console.WriteLine("Successfully IPCC-TryTaked {0}", popped)
        Else
            Console.WriteLine("FAILED to IPCC.TryTake!!")
        End If
    End Sub

    Sub Main()
        TestSafeStack()

        ' Keep the console window open in debug mode
        Console.WriteLine("Press any key to exit.")
        Console.ReadKey()

    End Sub

End Module

Комментарии

Дополнительные сведения см. в разделе Thread-Safe Коллекции и Обзор блокировкиCollection.

Свойства

Count

Возвращает количество элементов, содержащихся в ICollection.

(Унаследовано от ICollection)
IsSynchronized

Возвращает значение, указывающее, синхронизирован ли доступ к ICollection (потокобезопасный).

(Унаследовано от ICollection)
SyncRoot

Получает объект, который можно использовать для синхронизации доступа к ICollection.

(Унаследовано от ICollection)

Методы

CopyTo(Array, Int32)

Копирует элементы ICollection в Array, начиная с определенного индекса Array.

(Унаследовано от ICollection)
CopyTo(T[], Int32)

Копирует элементы IProducerConsumerCollection<T> в Array, начиная с указанного индекса.

GetEnumerator()

Возвращает перечислитель, который выполняет итерацию по коллекции.

(Унаследовано от IEnumerable)
ToArray()

Копирует элементы, содержащиеся в IProducerConsumerCollection<T>, в новый массив.

TryAdd(T)

Пытается добавить объект в IProducerConsumerCollection<T>.

TryTake(T)

Пытается удалить и вернуть объект из IProducerConsumerCollection<T>.

Методы расширения

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

Создает FrozenDictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанной функцией селектора ключей.

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

Создает FrozenDictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанными функциями селектора ключей и селектора элементов.

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

Создает FrozenSet<T> с указанными значениями.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Создает неизменяемый массив из указанной коллекции.

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

Создает неизменяемый словарь из существующей коллекции элементов, применяя функцию преобразования к исходным ключам.

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

Создает неизменяемый словарь на основе некоторого преобразования последовательности.

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

Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого.

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

Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого с помощью указанного средства сравнения ключей.

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

Перечисляет и преобразует последовательность и создает неизменяемый словарь его содержимого с помощью указанных средств сравнения ключей и значений.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Перечисляет последовательность и создает неизменяемый хэш-набор его содержимого.

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

Перечисляет последовательность, создает неизменяемый хэш-набор его содержимого и использует указанный средство сравнения равенства для типа набора.

ToImmutableList<TSource>(IEnumerable<TSource>)

Перечисляет последовательность и создает неизменяемый список его содержимого.

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

Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого.

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

Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого с помощью указанного средства сравнения ключей.

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

Перечисляет и преобразует последовательность и создает неизменяемый отсортированный словарь его содержимого с помощью указанных средств сравнения ключей и значений.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Перечисляет последовательность и создает неизменяемый отсортированный набор его содержимого.

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

Перечисляет последовательность, создает неизменяемый отсортированный набор его содержимого и использует указанный сопоставитель.

CopyToDataTable<T>(IEnumerable<T>)

Возвращает DataTable, содержащий копии объектов DataRow, учитывая входной объект IEnumerable<T>, в котором T универсальный параметр DataRow.

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

Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором T универсальный параметр DataRow.

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

Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором T универсальный параметр DataRow.

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

Применяет функцию аккумулятора по последовательности.

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

Применяет функцию аккумулятора по последовательности. Указанное начальное значение используется в качестве начального значения аккумулятора.

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

Применяет функцию аккумулятора по последовательности. Указанное начальное значение используется в качестве начального значения аккумулятора, а указанная функция используется для выбора значения результата.

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

Определяет методы для управления потоками безопасных коллекций, предназначенных для использования производителя или потребителя. Этот интерфейс предоставляет единое представление для коллекций производителей и потребителей, чтобы более высокий уровень абстракций, таких как BlockingCollection<T>, может использовать коллекцию в качестве базового механизма хранения.

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

Определяет методы для управления потоками безопасных коллекций, предназначенных для использования производителя или потребителя. Этот интерфейс предоставляет единое представление для коллекций производителей и потребителей, чтобы более высокий уровень абстракций, таких как BlockingCollection<T>, может использовать коллекцию в качестве базового механизма хранения.

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

Определяет, соответствуют ли все элементы последовательности условию.

Any<TSource>(IEnumerable<TSource>)

Определяет, содержит ли последовательность любые элементы.

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

Определяет, соответствует ли любой элемент последовательности условию.

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

Добавляет значение в конец последовательности.

AsEnumerable<TSource>(IEnumerable<TSource>)

Возвращает входные данные, типизированные как IEnumerable<T>.

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

Вычисляет среднее значение последовательности Decimal значений, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности Double значений, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности Int32 значений, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности Int64 значений, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности значений, допускающих значение NULL, Decimal, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности значений, допускающих значение NULL, Double, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности значений, допускающих значение NULL, Int32, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности значений, допускающих значение NULL, Int64, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности значений, допускающих значение NULL, Single, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет среднее значение последовательности Single значений, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

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

Разбивает элементы последовательности на блоки размера не более size.

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

Объединяет две последовательности.

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

Определяет, содержит ли последовательность указанный элемент с помощью средства сравнения равенства по умолчанию.

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

Определяет, содержит ли последовательность указанный элемент с помощью указанного IEqualityComparer<T>.

Count<TSource>(IEnumerable<TSource>)

Возвращает количество элементов в последовательности.

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

Возвращает число, представляющее, сколько элементов в указанной последовательности удовлетворяет условию.

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

Определяет методы для управления потоками безопасных коллекций, предназначенных для использования производителя или потребителя. Этот интерфейс предоставляет единое представление для коллекций производителей и потребителей, чтобы более высокий уровень абстракций, таких как BlockingCollection<T>, может использовать коллекцию в качестве базового механизма хранения.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Возвращает элементы указанной последовательности или значение параметра типа по умолчанию в одной коллекции, если последовательность пуста.

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

Возвращает элементы указанной последовательности или указанное значение в одной коллекции, если последовательность пуста.

Distinct<TSource>(IEnumerable<TSource>)

Возвращает отдельные элементы из последовательности с помощью сравнения значений по умолчанию.

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

Возвращает отдельные элементы из последовательности с помощью указанного IEqualityComparer<T> для сравнения значений.

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

Возвращает отдельные элементы из последовательности в соответствии с указанной функцией селектора ключей.

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

Возвращает отдельные элементы из последовательности в соответствии с указанной функцией селектора ключей и с помощью указанного средства сравнения ключей.

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

Возвращает элемент по указанному индексу в последовательности.

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

Возвращает элемент по указанному индексу в последовательности.

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

Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона.

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

Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона.

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

Создает различие набора двух последовательностей с помощью сравнения значений по умолчанию.

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

Создает различие набора двух последовательностей с помощью указанного IEqualityComparer<T> для сравнения значений.

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

Создает разницу набора двух последовательностей в соответствии с указанной функцией селектора ключей.

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

Создает разницу набора двух последовательностей в соответствии с указанной функцией селектора ключей.

First<TSource>(IEnumerable<TSource>)

Возвращает первый элемент последовательности.

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

Возвращает первый элемент в последовательности, удовлетворяющей указанному условию.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Возвращает первый элемент последовательности или значение по умолчанию, если последовательность не содержит элементов.

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

Возвращает первый элемент последовательности или указанное значение по умолчанию, если последовательность не содержит элементов.

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

Возвращает первый элемент последовательности, удовлетворяющий условию или значению по умолчанию, если такой элемент не найден.

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

Возвращает первый элемент последовательности, удовлетворяющий условию, или заданное значение по умолчанию, если такой элемент не найден.

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

Группируйте элементы последовательности в соответствии с указанной функцией селектора ключей.

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

Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и сравнивает ключи с помощью указанного средства сравнения.

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

Группируйте элементы последовательности в соответствии с указанной функцией селектора ключей и проектируйте элементы для каждой группы с помощью указанной функции.

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

Группируйте элементы последовательности в соответствии с функцией селектора ключей. Ключи сравниваются с помощью средства сравнения, а элементы каждой группы проецируются с помощью указанной функции.

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

Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и создает значение результата из каждой группы и его ключа.

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

Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и создает значение результата из каждой группы и его ключа. Ключи сравниваются с помощью указанного средства сравнения.

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

Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и создает значение результата из каждой группы и его ключа. Элементы каждой группы проецируются с помощью указанной функции.

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

Группирует элементы последовательности в соответствии с указанной функцией селектора ключей и создает значение результата из каждой группы и его ключа. Ключевые значения сравниваются с помощью указанного средства сравнения, а элементы каждой группы проецируются с помощью указанной функции.

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

Сопоставляет элементы двух последовательностей на основе равенства ключей и группирует результаты. Средство сравнения равенства по умолчанию используется для сравнения ключей.

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

Сопоставляет элементы двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется указанный IEqualityComparer<T>.

Index<TSource>(IEnumerable<TSource>)

Возвращает перечисление, которое включает индекс элемента в кортеж.

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

Создает набор пересечения двух последовательностей с помощью сравнения значений по умолчанию.

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

Создает набор пересечения двух последовательностей с помощью указанного IEqualityComparer<T> для сравнения значений.

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

Создает пересечение набора двух последовательностей в соответствии с указанной функцией селектора ключей.

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

Создает пересечение набора двух последовательностей в соответствии с указанной функцией селектора ключей.

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

Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Средство сравнения равенства по умолчанию используется для сравнения ключей.

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

Сопоставляет элементы двух последовательностей на основе соответствующих ключей. Для сравнения ключей используется указанный IEqualityComparer<T>.

Last<TSource>(IEnumerable<TSource>)

Возвращает последний элемент последовательности.

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

Возвращает последний элемент последовательности, удовлетворяющей указанному условию.

LastOrDefault<TSource>(IEnumerable<TSource>)

Возвращает последний элемент последовательности или значение по умолчанию, если последовательность не содержит элементов.

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

Возвращает последний элемент последовательности или указанное значение по умолчанию, если последовательность не содержит элементов.

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

Возвращает последний элемент последовательности, удовлетворяющей условию или значению по умолчанию, если такой элемент не найден.

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

Возвращает последний элемент последовательности, удовлетворяющей условию, или заданное значение по умолчанию, если такой элемент не найден.

LongCount<TSource>(IEnumerable<TSource>)

Возвращает Int64, представляющую общее количество элементов в последовательности.

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

Возвращает Int64, представляющий количество элементов в последовательности, удовлетворяющих условию.

Max<TSource>(IEnumerable<TSource>)

Возвращает максимальное значение в универсальной последовательности.

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

Возвращает максимальное значение в универсальной последовательности.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Decimal.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Double.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int32.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int64.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Decimal.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Double.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Int32.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Int64.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимально допустимое значение null Single.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Single.

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

Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает максимальное результирующее значение.

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

Возвращает максимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей.

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

Возвращает максимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей и компратором ключей.

Min<TSource>(IEnumerable<TSource>)

Возвращает минимальное значение в универсальной последовательности.

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

Возвращает минимальное значение в универсальной последовательности.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Decimal.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Double.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Int32.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Int64.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Decimal.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Double.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Int32.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Int64.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение, допускающее значение null Single.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение Single.

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

Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает минимальное результирующее значение.

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

Возвращает минимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей.

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

Возвращает минимальное значение в универсальной последовательности в соответствии с указанной функцией селектора ключей и компратером ключей.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

Order<T>(IEnumerable<T>)

Сортирует элементы последовательности в порядке возрастания.

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

Сортирует элементы последовательности в порядке возрастания.

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

Сортирует элементы последовательности в порядке возрастания в соответствии с ключом.

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

Сортирует элементы последовательности в порядке возрастания с помощью указанного сравнения.

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

Сортирует элементы последовательности в порядке убывания в соответствии с ключом.

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

Сортирует элементы последовательности в порядке убывания с помощью указанного сравнения.

OrderDescending<T>(IEnumerable<T>)

Сортирует элементы последовательности в порядке убывания.

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

Сортирует элементы последовательности в порядке убывания.

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

Добавляет значение в начало последовательности.

Reverse<TSource>(IEnumerable<TSource>)

Инвертирует порядок элементов в последовательности.

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

Проектируйте каждый элемент последовательности в новую форму.

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

Проектируйте каждый элемент последовательности в новую форму, включив индекс элемента.

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

Проектирует каждый элемент последовательности в IEnumerable<T> и преобразует полученные последовательности в одну последовательность.

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

Проектирует каждый элемент последовательности в IEnumerable<T>, а результирующий последовательности — в одну последовательность. Индекс каждого исходного элемента используется в проецируемых формах этого элемента.

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

Проектирует каждый элемент последовательности в IEnumerable<T>, сглаживает полученные последовательности в одну последовательность и вызывает функцию селектора результатов для каждого элемента.

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

Проектирует каждый элемент последовательности в IEnumerable<T>, сглаживает полученные последовательности в одну последовательность и вызывает функцию селектора результатов для каждого элемента. Индекс каждого исходного элемента используется в промежуточной проецированной форме этого элемента.

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

Определяет, равны ли две последовательности путем сравнения элементов с помощью средства сравнения равенства по умолчанию для их типа.

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

Определяет, равны ли две последовательности, сравнивая их элементы с помощью указанной IEqualityComparer<T>.

Single<TSource>(IEnumerable<TSource>)

Возвращает единственный элемент последовательности и создает исключение, если в последовательности нет ни одного элемента.

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

Возвращает единственный элемент последовательности, удовлетворяющей указанному условию, и создает исключение, если существует несколько таких элементов.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Возвращает единственный элемент последовательности или значение по умолчанию, если последовательность пуста; этот метод создает исключение, если в последовательности существует несколько элементов.

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

Возвращает единственный элемент последовательности или указанное значение по умолчанию, если последовательность пуста; этот метод создает исключение, если в последовательности существует несколько элементов.

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

Возвращает единственный элемент последовательности, удовлетворяющий указанному условию или значению по умолчанию, если такой элемент не существует; Этот метод создает исключение, если несколько элементов удовлетворяют условию.

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

Возвращает единственный элемент последовательности, удовлетворяющей указанному условию, или заданное значение по умолчанию, если такой элемент отсутствует; Этот метод создает исключение, если несколько элементов удовлетворяют условию.

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

Проходит указанное число элементов в последовательности, а затем возвращает оставшиеся элементы.

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

Возвращает новую перечисленную коллекцию, содержащую элементы из source с последними count элементами исходной коллекции.

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

Обход элементов последовательности до тех пор, пока указанное условие имеет значение true, а затем возвращает оставшиеся элементы.

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

Обход элементов последовательности до тех пор, пока указанное условие имеет значение true, а затем возвращает оставшиеся элементы. Индекс элемента используется в логике функции предиката.

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

Вычисляет сумму последовательности значений Decimal, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений Double, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений Int32, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений Int64, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений, допускающих значение NULL, Decimal, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений, допускающих значение NULL, Double, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений, допускающих значение NULL, Int32, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений, допускающих значение NULL, Int64, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений, допускающих значение NULL, Single, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Вычисляет сумму последовательности значений Single, полученных путем вызова функции преобразования для каждого элемента входной последовательности.

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

Возвращает указанное число смежных элементов из начала последовательности.

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

Возвращает указанный диапазон смежных элементов из последовательности.

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

Возвращает новую перечисленную коллекцию, содержащую последние элементы count из source.

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

Возвращает элементы из последовательности до тех пор, пока указанное условие имеет значение true.

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

Возвращает элементы из последовательности до тех пор, пока указанное условие имеет значение true. Индекс элемента используется в логике функции предиката.

ToArray<TSource>(IEnumerable<TSource>)

Создает массив из IEnumerable<T>.

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

Создает Dictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанной функцией селектора ключей.

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

Создает Dictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанной функцией селектора ключей и компратором ключей.

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

Создает Dictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанными функциями селектора ключей и селектора элементов.

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

Создает Dictionary<TKey,TValue> из IEnumerable<T> в соответствии с указанной функцией селектора ключей, компратором и функцией селектора элементов.

ToHashSet<TSource>(IEnumerable<TSource>)

Создает HashSet<T> из IEnumerable<T>.

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

Создает HashSet<T> из IEnumerable<T> с помощью comparer для сравнения ключей.

ToList<TSource>(IEnumerable<TSource>)

Создает List<T> из IEnumerable<T>.

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

Создает Lookup<TKey,TElement> из IEnumerable<T> в соответствии с указанной функцией селектора ключей.

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

Создает Lookup<TKey,TElement> из IEnumerable<T> в соответствии с указанной функцией селектора ключей и компратором ключей.

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

Создает Lookup<TKey,TElement> из IEnumerable<T> в соответствии с указанными функциями селектора ключей и селектора элементов.

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

Создает Lookup<TKey,TElement> из IEnumerable<T> в соответствии с указанной функцией селектора ключей, компратором и функцией селектора элементов.

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

Пытается определить количество элементов в последовательности без принудительного перечисления.

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

Создает объединение наборов двух последовательностей с помощью средства сравнения равенства по умолчанию.

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

Создает объединение наборов двух последовательностей с помощью указанного IEqualityComparer<T>.

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

Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключей.

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

Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключей.

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

Фильтрует последовательность значений на основе предиката.

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

Фильтрует последовательность значений на основе предиката. Индекс каждого элемента используется в логике функции предиката.

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

Создает последовательность кортежей с элементами из двух указанных последовательностей.

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

Создает последовательность кортежей с элементами из трех указанных последовательностей.

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

Применяет указанную функцию к соответствующим элементам двух последовательностей, создавая последовательность результатов.

AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsParallel<TSource>(IEnumerable<TSource>)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Преобразует универсальный IEnumerable<T> в универсальный IQueryable<T>.

Ancestors<T>(IEnumerable<T>)

Возвращает коллекцию элементов, содержащих предки каждого узла в исходной коллекции.

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

Возвращает отфильтрованную коллекцию элементов, содержащих предки каждого узла в исходной коллекции. В коллекцию включены только элементы с соответствующими XName.

DescendantNodes<T>(IEnumerable<T>)

Возвращает коллекцию потомков каждого документа и элемента в исходной коллекции.

Descendants<T>(IEnumerable<T>)

Возвращает коллекцию элементов, содержащих потомки каждого элемента и документа в исходной коллекции.

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

Возвращает отфильтрованную коллекцию элементов, содержащих потомки каждого элемента и документа в исходной коллекции. В коллекцию включены только элементы с соответствующими XName.

Elements<T>(IEnumerable<T>)

Возвращает коллекцию дочерних элементов каждого элемента и документа в исходной коллекции.

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

Возвращает отфильтрованную коллекцию дочерних элементов каждого элемента и документа в исходной коллекции. В коллекцию включены только элементы с соответствующими XName.

InDocumentOrder<T>(IEnumerable<T>)

Возвращает коллекцию узлов, содержащих все узлы в исходной коллекции, отсортированные в порядке документа.

Nodes<T>(IEnumerable<T>)

Возвращает коллекцию дочерних узлов каждого документа и элемента в исходной коллекции.

Remove<T>(IEnumerable<T>)

Удаляет каждый узел в исходной коллекции из родительского узла.

Применяется к

Потокобезопасность

Все реализации этого интерфейса должны разрешать одновременно использовать все члены этого интерфейса из нескольких потоков.

См. также раздел