ConcurrentStack<T> 클래스

정의

스레드로부터 안전한 LIFO(후입선출) 방식의 컬렉션을 나타냅니다.

generic <typename T>
public ref class ConcurrentStack : System::Collections::Concurrent::IProducerConsumerCollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection
generic <typename T>
public ref class ConcurrentStack : System::Collections::Concurrent::IProducerConsumerCollection<T>, System::Collections::Generic::IEnumerable<T>
generic <typename T>
public ref class ConcurrentStack : System::Collections::Concurrent::IProducerConsumerCollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>
generic <typename T>
public ref class ConcurrentStack : System::Collections::Concurrent::IProducerConsumerCollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public class ConcurrentStack<T> : System.Collections.Concurrent.IProducerConsumerCollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Serializable]
public class ConcurrentStack<T> : System.Collections.Concurrent.IProducerConsumerCollection<T>, System.Collections.Generic.IEnumerable<T>
[System.Serializable]
public class ConcurrentStack<T> : System.Collections.Concurrent.IProducerConsumerCollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>
public class ConcurrentStack<T> : System.Collections.Concurrent.IProducerConsumerCollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
public class ConcurrentStack<T> : System.Collections.Concurrent.IProducerConsumerCollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>
type ConcurrentStack<'T> = class
    interface IProducerConsumerCollection<'T>
    interface seq<'T>
    interface IEnumerable
    interface ICollection
    interface IReadOnlyCollection<'T>
[<System.Serializable>]
type ConcurrentStack<'T> = class
    interface IProducerConsumerCollection<'T>
    interface seq<'T>
    interface ICollection
    interface IEnumerable
[<System.Serializable>]
type ConcurrentStack<'T> = class
    interface IProducerConsumerCollection<'T>
    interface seq<'T>
    interface IEnumerable
    interface ICollection
    interface IReadOnlyCollection<'T>
type ConcurrentStack<'T> = class
    interface IProducerConsumerCollection<'T>
    interface seq<'T>
    interface ICollection
    interface IEnumerable
Public Class ConcurrentStack(Of T)
Implements ICollection, IEnumerable(Of T), IProducerConsumerCollection(Of T), IReadOnlyCollection(Of T)
Public Class ConcurrentStack(Of T)
Implements IEnumerable(Of T), IProducerConsumerCollection(Of T)
Public Class ConcurrentStack(Of T)
Implements IEnumerable(Of T), IProducerConsumerCollection(Of T), IReadOnlyCollection(Of T)
Public Class ConcurrentStack(Of T)
Implements ICollection, IEnumerable(Of T), IProducerConsumerCollection(Of T)

형식 매개 변수

T

스택에 있는 요소의 형식입니다.

상속
ConcurrentStack<T>
특성
구현

예제

다음 예제에서는 를 사용하여 ConcurrentStack<T> 개별 항목을 푸시하고 팝하는 방법을 보여 있습니다.

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

class Example
{
    // Demonstrates:
    //      ConcurrentStack<T>.Push();
    //      ConcurrentStack<T>.TryPeek();
    //      ConcurrentStack<T>.TryPop();
    //      ConcurrentStack<T>.Clear();
    //      ConcurrentStack<T>.IsEmpty;
    static async Task Main()
    {
        int items = 10000;

        ConcurrentStack<int> stack = new ConcurrentStack<int>();

        // Create an action to push items onto the stack
        Action pusher = () =>
        {
            for (int i = 0; i < items; i++)
            {
                stack.Push(i);
            }
        };

        // Run the action once
        pusher();

        if (stack.TryPeek(out int result))
        {
            Console.WriteLine($"TryPeek() saw {result} on top of the stack.");
        }
        else
        {
            Console.WriteLine("Could not peek most recently added number.");
        }

        // Empty the stack
        stack.Clear();

        if (stack.IsEmpty)
        {
            Console.WriteLine("Cleared the stack.");
        }

        // Create an action to push and pop items
        Action pushAndPop = () =>
        {
            Console.WriteLine($"Task started on {Task.CurrentId}");

            int item;
            for (int i = 0; i < items; i++)
                stack.Push(i);
            for (int i = 0; i < items; i++)
                stack.TryPop(out item);

            Console.WriteLine($"Task ended on {Task.CurrentId}");
        };

        // Spin up five concurrent tasks of the action
        var tasks = new Task[5];
        for (int i = 0; i < tasks.Length; i++)
            tasks[i] = Task.Factory.StartNew(pushAndPop);

        // Wait for all the tasks to finish up
        await Task.WhenAll(tasks);

        if (!stack.IsEmpty)
        {
            Console.WriteLine("Did not take all the items off the stack");
        }
    }
}
open System
open System.Collections.Concurrent
open System.Threading.Tasks

// Demonstrates:
//      ConcurrentStack<T>.Push();
//      ConcurrentStack<T>.TryPeek();
//      ConcurrentStack<T>.TryPop();
//      ConcurrentStack<T>.Clear();
//      ConcurrentStack<T>.IsEmpty;

let main =
    task {
        let items = 10000
        let stack = ConcurrentStack<int>()

        // Create an action to push items onto the stack
        let pusher =
            Action(fun () ->
                for i = 0 to items - 1 do
                    stack.Push i)

        // Run the action once
        pusher.Invoke()
        let mutable result = 0

        if stack.TryPeek &result then
            printfn $"TryPeek() saw {result} on top of the stack."
        else
            printfn "Could not peek most recently added number."

        // Empty the stack
        stack.Clear()

        if stack.IsEmpty then
            printfn "Cleared the stack."

        // Create an action to push and pop items
        let pushAndPop =
            Action(fun () ->
                printfn $"Task started on {Task.CurrentId}"

                let mutable item = 0

                for i = 0 to items - 1 do
                    stack.Push i

                for i = 0 to items - 1 do
                    stack.TryPop &item |> ignore

                printfn $"Task ended on {Task.CurrentId}")
        // Spin up five concurrent tasks of the action
        let tasks =
            [| for i = 0 to 4 do
                   Task.Run pushAndPop |]

        // Wait for all the tasks to finish up
        do! Task.WhenAll tasks

        if not stack.IsEmpty then
            printfn "Did not take all the items off the stack"
    }

main.Wait()
Imports System.Collections.Concurrent
Imports System.Threading.Tasks

Class Example
    ' Demonstrates:
    '   ConcurrentStack<T>.Push();
    '   ConcurrentStack<T>.TryPeek();
    '   ConcurrentStack<T>.TryPop();
    '   ConcurrentStack<T>.Clear();
    '   ConcurrentStack<T>.IsEmpty;
    Shared Sub Main()
        Dim items As Integer = 10000
        Dim stack As ConcurrentStack(Of Integer) = New ConcurrentStack(Of Integer)()

        ' Create an action to push items onto the stack
        Dim pusher As Action = Function()
                                   For i As Integer = 0 To items - 1
                                       stack.Push(i)
                                   Next
                               End Function

        ' Run the action once
        pusher()

        Dim result As Integer = Nothing

        If stack.TryPeek(result) Then
            Console.WriteLine($"TryPeek() saw {result} on top of the stack.")
        Else
            Console.WriteLine("Could not peek most recently added number.")
        End If

        ' Empty the stack
        stack.Clear()

        If stack.IsEmpty Then
            Console.WriteLine("Cleared the stack.")
        End If

        ' Create an action to push and pop items
        Dim pushAndPop As Action = Function()
                                       Console.WriteLine($"Task started on {Task.CurrentId}")
                                       Dim item As Integer

                                       For i As Integer = 0 To items - 1
                                           stack.Push(i)
                                       Next

                                       For i As Integer = 0 To items - 1
                                           stack.TryPop(item)
                                       Next

                                       Console.WriteLine($"Task ended on {Task.CurrentId}")
                                   End Function

        ' Spin up five concurrent tasks of the action
        Dim tasks = New Task(4) {}
        For i As Integer = 0 To tasks.Length - 1
            tasks(i) = Task.Factory.StartNew(pushAndPop)
        Next

        ' Wait for all the tasks to finish up
        Task.WaitAll(tasks)

        If Not stack.IsEmpty Then
            Console.WriteLine("Did not take all the items off the stack")
        End If
    End Sub
End Class

다음 예제에서는 사용 하는 방법을 보여 줍니다.는 ConcurrentStack<T> 항목의 범위를 푸시 하 고 팝:

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

class Example
{
    // Demonstrates:
    //      ConcurrentStack<T>.PushRange();
    //      ConcurrentStack<T>.TryPopRange();
    static async Task Main()
    {
        int numParallelTasks = 4;
        int numItems = 1000;
        var stack = new ConcurrentStack<int>();

        // Push a range of values onto the stack concurrently
        await Task.WhenAll(Enumerable.Range(0, numParallelTasks).Select(i => Task.Factory.StartNew((state) =>
        {
            // state = i * numItems
            int index = (int)state;
            int[] array = new int[numItems];
            for (int j = 0; j < numItems; j++)
            {
                array[j] = index + j;
            }

            Console.WriteLine($"Pushing an array of ints from {array[0]} to {array[numItems - 1]}");
            stack.PushRange(array);
        }, i * numItems, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default)).ToArray());

        int numTotalElements = 4 * numItems;
        int[] resultBuffer = new int[numTotalElements];
        await Task.WhenAll(Enumerable.Range(0, numParallelTasks).Select(i => Task.Factory.StartNew(obj =>
        {
            int index = (int)obj;
            int result = stack.TryPopRange(resultBuffer, index, numItems);

            Console.WriteLine($"TryPopRange expected {numItems}, got {result}.");
        }, i * numItems, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default)).ToArray());

        for (int i = 0; i < numParallelTasks; i++)
        {
            // Create a sequence we expect to see from the stack taking the last number of the range we inserted
            var expected = Enumerable.Range(resultBuffer[i*numItems + numItems - 1], numItems);

            // Take the range we inserted, reverse it, and compare to the expected sequence
            var areEqual = expected.SequenceEqual(resultBuffer.Skip(i * numItems).Take(numItems).Reverse());
            if (areEqual)
            {
                Console.WriteLine($"Expected a range of {expected.First()} to {expected.Last()}. Got {resultBuffer[i * numItems + numItems - 1]} to {resultBuffer[i * numItems]}");
            }
            else
            {
                Console.WriteLine($"Unexpected consecutive ranges.");
            }
        }
    }
}
open System.Collections.Concurrent
open System.Linq
open System.Threading
open System.Threading.Tasks

// Demonstrates:
//      ConcurrentStack<T>.PushRange();
//      ConcurrentStack<T>.TryPopRange();

let main = 
    task {
        let numParallelTasks = 4
        let numItems = 1000
        let stack = ConcurrentStack<int>()

        // Push a range of values onto the stack concurrently
        let! _ = Task.WhenAll(Enumerable.Range(0, numParallelTasks).Select(fun i -> 
            Task.Factory.StartNew((fun state ->
                // state = i * numItems
                let index: int = unbox state
                let array = 
                    [|  for j in 0 .. numItems - 1 do
                            index + j |]
                printfn $"Pushing an array of ints from {array[0]} to {array[numItems - 1]}"
                stack.PushRange array
            ), i * numItems, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default)).ToArray())

        let numTotalElements = 4 * numItems
        let resultBuffer = Array.zeroCreate numTotalElements
        let! _ = Task.WhenAll(Enumerable.Range(0, numParallelTasks).Select(fun i -> 
            Task.Factory.StartNew((fun obj ->
                let index = unbox obj
                let result = stack.TryPopRange(resultBuffer, index, numItems)
                printfn $"TryPopRange expected {numItems}, got {result}."
            ), i * numItems, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default)).ToArray())

        for i = 0 to numParallelTasks - 1 do
            // Create a sequence we expect to see from the stack taking the last number of the range we inserted
            let expected = Enumerable.Range(resultBuffer[i*numItems + numItems - 1], numItems)

            // Take the range we inserted, reverse it, and compare to the expected sequence
            let areEqual = expected.SequenceEqual(resultBuffer.Skip(i * numItems).Take(numItems).Reverse())
            if areEqual then
                printfn $"Expected a range of {expected.First()} to {expected.Last()}. Got {resultBuffer[i * numItems + numItems - 1]} to {resultBuffer[i * numItems]}"
            else
                printfn $"Unexpected consecutive ranges."
    }
main.Wait()
Imports System.Collections.Concurrent
Imports System.Linq
Imports System.Threading
Imports System.Threading.Tasks

Class Example
    ' Demonstrates:
    '   ConcurrentStack<T>.PushRange();
    '   ConcurrentStack<T>.TryPopRange();
    Shared Sub Main()
        Dim numParallelTasks As Integer = 4
        Dim numItems As Integer = 1000
        Dim stack = New ConcurrentStack(Of Integer)()

        ' Push a range of values onto the stack concurrently
        Task.WaitAll(Enumerable.Range(0, numParallelTasks).[Select](
                     Function(i) Task.Factory.StartNew(
                        Function(state)
                            Dim index As Integer = CInt(state)
                            Dim array As Integer() = New Integer(numItems - 1) {}

                            For j As Integer = 0 To numItems - 1
                                array(j) = index + j
                            Next

                            Console.WriteLine($"Pushing an array of ints from {array(0)} to {array(numItems - 1)}")
                            stack.PushRange(array)
                        End Function, i * numItems, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.[Default])).ToArray())


        Dim numTotalElements As Integer = 4 * numItems
        Dim resultBuffer As Integer() = New Integer(numTotalElements - 1) {}
        Task.WaitAll(Enumerable.Range(0, numParallelTasks).[Select](
                     Function(i) Task.Factory.StartNew(
                        Function(obj)
                            Dim index As Integer = CInt(obj)
                            Dim result As Integer = stack.TryPopRange(resultBuffer, index, numItems)
                            Console.WriteLine($"TryPopRange expected {numItems}, got {result}.")
                        End Function, i * numItems, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.[Default])).ToArray())

        For i As Integer = 0 To numParallelTasks - 1
            ' Create a sequence we expect to see from the stack taking the last number of the range we inserted
            Dim expected = Enumerable.Range(resultBuffer(i * numItems + numItems - 1), numItems)

            ' Take the range we inserted, reverse it, and compare to the expected sequence
            Dim areEqual = expected.SequenceEqual(resultBuffer.Skip(i * numItems).Take(numItems).Reverse())

            If areEqual Then
                Console.WriteLine($"Expected a range of {expected.First()} to {expected.Last()}. Got {resultBuffer(i * numItems + numItems - 1)} to {resultBuffer(i * numItems)}")
            Else
                Console.WriteLine($"Unexpected consecutive ranges.")
            End If
        Next
    End Sub
End Class

설명

참고

ConcurrentStack<T>IReadOnlyCollection<T> .NET Framework 4.6부터 인터페이스를 구현합니다. 이전 버전의 .NET Framework 클래스는 이 인터페이스를 ConcurrentStack<T> 구현하지 않았습니다.

ConcurrentStack<T>는 몇 가지 기본 작업을 제공합니다.

생성자

ConcurrentStack<T>()

ConcurrentStack<T> 클래스의 새 인스턴스를 초기화합니다.

ConcurrentStack<T>(IEnumerable<T>)

지정된 컬렉션에서 복사한 요소가 포함된 ConcurrentStack<T> 클래스의 새 인스턴스를 초기화합니다.

속성

Count

ConcurrentStack<T>에 포함된 요소 수를 가져옵니다.

IsEmpty

ConcurrentStack<T>가 비어 있는지 여부를 나타내는 값을 가져옵니다.

메서드

Clear()

ConcurrentStack<T>에서 개체를 모두 제거합니다.

CopyTo(T[], Int32)

ConcurrentStack<T> 요소를 지정한 배열 인덱스에서 시작하여 기존의 1차원 Array에 복사합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetEnumerator()

ConcurrentStack<T>를 반복하는 열거자를 반환합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Push(T)

개체를 ConcurrentStack<T>의 맨 위에 삽입합니다.

PushRange(T[])

여러 개체를 ConcurrentStack<T>의 맨 위에 원자 단위로 삽입합니다.

PushRange(T[], Int32, Int32)

여러 개체를 ConcurrentStack<T>의 맨 위에 원자 단위로 삽입합니다.

ToArray()

ConcurrentStack<T>에 저장되어 있는 항목을 새 배열에 복사합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
TryPeek(T)

ConcurrentStack<T>의 맨 위에 있는 개체를 제거하지 않고 반환하려고 시도합니다.

TryPop(T)

ConcurrentStack<T>의 맨 위에 있는 개체를 꺼내고 반환하려고 시도합니다.

TryPopRange(T[])

ConcurrentStack<T>의 맨 위에 있는 여러 개체를 원자 단위로 꺼내고 반환하려고 시도합니다.

TryPopRange(T[], Int32, Int32)

ConcurrentStack<T>의 맨 위에 있는 여러 개체를 원자 단위로 꺼내고 반환하려고 시도합니다.

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

특정 ICollection 인덱스부터 시작하여 Array의 요소를 Array에 복사합니다.

ICollection.IsSynchronized

ICollection에 대한 액세스가 SyncRoot와 동기화되는지 여부를 나타내는 값을 가져옵니다.

ICollection.SyncRoot

ICollection에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다. 이 속성이 지원되지 않는 경우

IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.

IProducerConsumerCollection<T>.TryAdd(T)

IProducerConsumerCollection<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>)

제네릭 매개 변수 TDataTable인 지정된 입력 DataRow 개체를 사용하여 IEnumerable<T> 개체의 복사본이 들어 있는 DataRow을 반환합니다.

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

제네릭 매개 변수 TDataRow인 지정된 입력 DataTable 개체를 사용하여 IEnumerable<T> 개체를 지정된 DataRow에 복사합니다.

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

제네릭 매개 변수 TDataRow인 지정된 입력 DataTable 개체를 사용하여 IEnumerable<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>)

스레드로부터 안전한 LIFO(후입선출) 방식의 컬렉션을 나타냅니다.

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

스레드로부터 안전한 LIFO(후입선출) 방식의 컬렉션을 나타냅니다.

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>>)

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Decimal 값 시퀀스의 평균을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Double 값 시퀀스의 평균을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int32 값 시퀀스의 평균을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int64 값 시퀀스의 평균을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable 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>)

스레드로부터 안전한 LIFO(후입선출) 방식의 컬렉션을 나타냅니다.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

지정된 시퀀스의 요소를 반환하거나, 시퀀스가 비어 있으면 형식 매개 변수의 기본값을 반환합니다.

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

지정된 시퀀스의 요소를 반환하거나, 시퀀스가 비어 있으면 singleton 컬렉션의 지정된 값을 반환합니다.

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>)

스레드로부터 안전한 LIFO(후입선출) 방식의 컬렉션을 나타냅니다.

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>>)

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Decimal 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Double 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Int32 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Int64 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable 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>>)

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Decimal 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Double 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Int32 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Int64 값을 반환합니다.

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

시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable 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>)

시퀀스의 유일한 요소를 반환하고, 시퀀스에 요소가 정확히 하나 들어 있지 않으면 예외를 throw합니다.

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

시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하고, 이러한 요소가 둘 이상 있으면 예외를 throw합니다.

SingleOrDefault<TSource>(IEnumerable<TSource>)

시퀀스의 유일한 요소를 반환하거나 시퀀스가 비어 있으면 기본값을 반환합니다. 시퀀스에 요소가 둘 이상 있으면 예외를 throw합니다.

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

시퀀스의 유일한 요소 또는 시퀀스가 비어 있는 경우 지정된 기본값을 반환합니다. 시퀀스에 요소가 두 개 이상 있는 경우 이 메서드는 예외를 throw합니다.

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

시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하거나 이러한 요소가 없으면 기본값을 반환합니다. 조건에 맞는 요소가 둘 이상 있으면 예외를 throw합니다.

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

지정된 조건을 충족하는 시퀀스의 유일한 요소 또는 이러한 요소가 없는 경우 지정된 기본값을 반환합니다. 이 메서드는 둘 이상의 요소가 조건을 충족하는 경우 예외를 throw합니다.

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

시퀀스에서 지정된 수의 요소를 건너뛴 다음 나머지 요소를 반환합니다.

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

소스 컬렉션의 마지막 count 요소가 생략된 source의 요소를 포함하는 열거 가능한 새 컬렉션을 반환합니다.

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>>)

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Decimal 값 시퀀스의 합을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Double 값 시퀀스의 합을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int32 값 시퀀스의 합을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int64 값 시퀀스의 합을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Single 값 시퀀스의 합을 계산합니다.

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

입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Single 값 시퀀스의 합을 계산합니다.

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

시퀀스 시작 위치에서 지정된 수의 연속 요소를 반환합니다.

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

시퀀스에서 지정된 연속 요소 범위를 반환합니다.

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

source의 마지막 count 요소를 포함하는 열거 가능한 새 컬렉션을 반환합니다.

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>)

IEnumerable<T>에서 HashSet<T>을 만듭니다.

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

comparer를 사용하여 키를 비교하는 IEnumerable<T>에서 HashSet<T>를 생성합니다.

ToList<TSource>(IEnumerable<TSource>)

IEnumerable<T>에서 List<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)

IEnumerableIQueryable로 변환합니다.

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>)

부모 노드에서 소스 컬렉션의 모든 노드를 제거합니다.

적용 대상

스레드 보안

ConcurrentStack<T> 모든 공용 및 보호된 멤버는 스레드로부터 안전하며 여러 스레드에서 동시에 사용할 수 있습니다.

추가 정보