다음을 통해 공유


Directory.EnumerateDirectories 메서드

정의

지정된 조건을 충족하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환합니다.

오버로드

EnumerateDirectories(String)

지정된 경로에 있는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환합니다.

EnumerateDirectories(String, String)

지정된 경로에서 검색 패턴과 일치하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환합니다.

EnumerateDirectories(String, String, EnumerationOptions)

지정된 경로에서 검색 패턴과 일치하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환하고 선택적으로 하위 디렉터리를 검색합니다.

EnumerateDirectories(String, String, SearchOption)

지정된 경로에서 검색 패턴과 일치하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환하고 선택적으로 하위 디렉터리를 검색합니다.

EnumerateDirectories(String)

Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs

지정된 경로에 있는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환합니다.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path);
static member EnumerateDirectories : string -> seq<string>
Public Shared Function EnumerateDirectories (path As String) As IEnumerable(Of String)

매개 변수

path
String

검색할 디렉터리에 대한 상대 또는 절대 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

반환

path로 지정된 디렉터리에서 디렉터리에 대한 전체 이름(경로 포함)의 열거 가능 컬렉션입니다.

예외

2.1보다 오래된 .NET Framework 및 .NET Core 버전: path 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함합니다. GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

path이(가) null인 경우

path가 잘못되었습니다(예: 매핑되지 않은 드라이브 참조).

path는 파일 이름입니다.

지정된 경로, 파일 이름 또는 이 둘의 조합이 시스템에서 정의한 최대 길이를 초과합니다.

호출자에게 필요한 권한이 없는 경우

호출자에게 필요한 권한이 없는 경우

예제

다음 예제에서는 지정된 경로의 최상위 디렉터리를 열거합니다.

using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    private static void Main(string[] args)
    {
        try
        {
            // Set a variable to the My Documents path.
            string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            List<string> dirs = new List<string>(Directory.EnumerateDirectories(docPath));

            foreach (var dir in dirs)
            {
                Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}");
            }
            Console.WriteLine($"{dirs.Count} directories found.");
        }
        catch (UnauthorizedAccessException ex)
        {
            Console.WriteLine(ex.Message);
        }
        catch (PathTooLongException ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
open System
open System.IO

try
    // Set a variable to the My Documents path.
    let docPath = Environment.GetFolderPath Environment.SpecialFolder.MyDocuments

    let dirs = Directory.EnumerateDirectories docPath |> Seq.toList

    for dir in dirs do
        printfn $"{dir.Substring(dir.LastIndexOf Path.DirectorySeparatorChar + 1)}"
    printfn $"{dirs.Length} directories found."

with
| :? UnauthorizedAccessException as ex ->
    printfn $"{ex.Message}"
| :? PathTooLongException as ex ->
    printfn $"{ex.Message}"
Imports System.Collections.Generic
Imports System.IO

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

            Dim dirs As List(Of String) = New List(Of String)(Directory.EnumerateDirectories(dirPath))

            For Each folder In dirs
                Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}")
            Next
            Console.WriteLine($"{dirs.Count} directories found.")
        Catch ex As UnauthorizedAccessException
            Console.WriteLine(ex.Message)
        Catch ex As PathTooLongException
            Console.WriteLine(ex.Message)
        End Try

    End Sub
End Module

설명

매개 변수에서 path 상대 경로 또는 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 메서드를 사용하여 GetCurrentDirectory 확인할 수 있는 현재 작업 디렉터리를 기준으로 해석됩니다. 반환된 디렉터리 이름 앞에는 매개 변수에 제공한 값이 접두사로 지정 path 됩니다. 예를 들어 매개 변수에 path 상대 경로를 제공하는 경우 반환된 디렉터리 이름에 상대 경로가 포함됩니다.

및 메서드는 EnumerateDirectories 다음과 같이 다릅니다. 를 사용하면 EnumerateDirectories전체 컬렉션이 반환되기 전에 이름 컬렉션을 열거할 수 있습니다. 를 사용하는 GetDirectories경우 전체 이름 배열이 반환될 때까지 기다려야 배열에 액세스할 수 GetDirectories 있습니다. 따라서 많은 파일 및 디렉터리 EnumerateDirectories 로 작업할 때 보다 효율적일 수 있습니다.

반환된 컬렉션은 캐시되지 않습니다. 컬렉션에서 에 GetEnumerator 대한 각 호출은 새 열거형을 시작합니다.

적용 대상

EnumerateDirectories(String, String)

Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs

지정된 경로에서 검색 패턴과 일치하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환합니다.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern);
static member EnumerateDirectories : string * string -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String) As IEnumerable(Of String)

매개 변수

path
String

검색할 디렉터리에 대한 상대 또는 절대 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

searchPattern
String

path에 있는 디렉터리 이름과 일치하는지 비교할 검색 문자열입니다. 이 매개 변수는 유효한 리터럴 경로와 와일드카드(* 및 ?) 문자로 된 조합을 포함하지만 정규식을 지원하지 않습니다.

반환

path로 지정되고 지정된 검색 패턴과 일치하는 디렉터리에서 디렉터리에 대한 전체 이름(경로 포함)의 열거 가능 컬렉션입니다.

예외

2.1보다 오래된 .NET Framework 및 .NET Core 버전: path 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함합니다. GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

또는

searchPattern에 유효한 패턴이 포함되어 있지 않습니다.

path이(가) null인 경우

또는

searchPattern이(가) null인 경우

path가 잘못되었습니다(예: 매핑되지 않은 드라이브 참조).

path는 파일 이름입니다.

지정된 경로, 파일 이름 또는 이 둘의 조합이 시스템에서 정의한 최대 길이를 초과합니다.

호출자에게 필요한 권한이 없는 경우

호출자에게 필요한 권한이 없는 경우

예제

다음 예제에서는 지정된 검색 패턴과 일치하는 지정된 경로의 최상위 디렉터리를 열거합니다.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

    private static void Main(string[] args)
    {
        try
        {
            string dirPath = @"\\archives\2009\reports";

            // LINQ query.
            var dirs = from dir in
                     Directory.EnumerateDirectories(dirPath, "dv_*")
                       select dir;

            // Show results.
            foreach (var dir in dirs)
            {
                // Remove path information from string.
                Console.WriteLine("{0}",
                    dir.Substring(dir.LastIndexOf("\\") + 1));
            }
            Console.WriteLine("{0} directories found.",
                dirs.Count<string>().ToString());

            // Optionally create a List collection.
            List<string> workDirs = new List<string>(dirs);
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
open System
open System.IO

try
    let dirPath = @"\\archives\2009\reports"

    let dirs = 
        Directory.EnumerateDirectories(dirPath, "dv_*")
        |> Seq.cache

    // Show results.
    for dir in dirs do
        // Remove path information from string.
        printfn $"{dir.Substring(dir.LastIndexOf '\\' + 1)}"
    printfn $"{Seq.length dirs} directories found."

    // Optionally create a list collection.
    let workDirs = Seq.toList dirs
    ()
    
with 
| :? UnauthorizedAccessException as uaEx ->
    printfn $"{uaEx.Message}"
| :? PathTooLongException as pathEx ->
    printfn $"{pathEx.Message}"
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = "\\archives\2009\reports"

            ' LINQ query.
            Dim dirs = From folder In _
                Directory.EnumerateDirectories(dirPath, "dv_*")
            For Each folder In dirs
                ' Remove path infomration from string.
                Console.WriteLine("{0}", _
                        folder.Substring(folder.LastIndexOf("\") + 1))
            Next
            Console.WriteLine("{0} directories found.", _
                dirs.Count.ToString())

            ' Optionally create a List collection.
            Dim workDirs As List(Of String) = New List(Of String)

        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub
End Module

설명

searchPattern 는 리터럴 문자와 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern.

와일드카드 지정자 일치하는 항목
*(별표) 해당 위치에 0개 이상의 문자가 있습니다.
? (물음표) 해당 위치에 정확히 한 문자가 있습니다.

와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 searchPattern 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 path 검색합니다. 문자열 "s*"는 searchPattern 문자 "s"로 path 시작하는 의 모든 이름을 검색합니다.

searchPattern 는 두 개의 마침표("..")로 끝나거나 두 개의 마침표("..") 뒤에 DirectorySeparatorChar 또는 AltDirectorySeparatorChar를 포함할 수 없으며 잘못된 문자를 포함할 수도 없습니다. GetInvalidPathChars 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

매개 변수에서 path 상대 경로 또는 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 메서드를 사용하여 GetCurrentDirectory 확인할 수 있는 현재 작업 디렉터리를 기준으로 해석됩니다. 반환된 디렉터리 이름 앞에는 매개 변수에 제공한 값이 접두사로 지정 path 됩니다. 예를 들어 매개 변수에 path 상대 경로를 제공하는 경우 반환된 디렉터리 이름에 상대 경로가 포함됩니다.

및 메서드는 EnumerateDirectories 다음과 같이 다릅니다. 를 사용하면 EnumerateDirectories전체 컬렉션이 반환되기 전에 이름 컬렉션을 열거할 수 있습니다. 를 사용하는 GetDirectories경우 전체 이름 배열이 반환될 때까지 기다려야 배열에 액세스할 수 GetDirectories 있습니다. 따라서 많은 파일 및 디렉터리 EnumerateDirectories 로 작업할 때 보다 효율적일 수 있습니다.

반환된 컬렉션은 캐시되지 않습니다. 컬렉션에서 에 GetEnumerator 대한 각 호출은 새 열거형을 시작합니다.

적용 대상

EnumerateDirectories(String, String, EnumerationOptions)

Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs

지정된 경로에서 검색 패턴과 일치하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환하고 선택적으로 하위 디렉터리를 검색합니다.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member EnumerateDirectories : string * string * System.IO.EnumerationOptions -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of String)

매개 변수

path
String

검색할 디렉터리에 대한 상대 또는 절대 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

searchPattern
String

path에 있는 디렉터리 이름과 일치하는지 비교할 검색 문자열입니다. 이 매개 변수는 유효한 리터럴 경로와 와일드카드(* 및 ?) 문자로 된 조합을 포함하지만 정규식을 지원하지 않습니다.

enumerationOptions
EnumerationOptions

사용할 검색 및 열거형 구성을 설명하는 개체입니다.

반환

path에서 지정된 디렉토리에 있고 지정된 검색 패턴 및 열거형 옵션과 일치하는 디렉터리에 대한 전체 이름(경로 포함)의 열거 가능 컬렉션입니다.

예외

2.1보다 오래된 .NET Framework 및 .NET Core 버전: path 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함합니다. GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

또는

searchPattern에 유효한 패턴이 포함되어 있지 않습니다.

path 또는 searchPatternnull인 경우

searchOption는 유효한 SearchOption 값이 아닙니다.

path가 잘못되었습니다(예: 매핑되지 않은 드라이브 참조).

path는 파일 이름입니다.

지정된 경로, 파일 이름 또는 이 둘의 조합이 시스템에서 정의한 최대 길이를 초과합니다.

호출자에게 필요한 권한이 없는 경우

호출자에게 필요한 권한이 없는 경우

설명

searchPattern 는 리터럴 문자와 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern.

와일드카드 지정자 일치하는 항목
*(별표) 해당 위치에 0개 이상의 문자가 있습니다.
? (물음표) 해당 위치에 정확히 한 문자가 있습니다.

와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 searchPattern 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 path 검색합니다. 문자열 "s*"는 searchPattern 문자 "s"로 path 시작하는 의 모든 이름을 검색합니다.

searchPattern 는 두 개의 마침표("..")로 끝나거나 두 개의 마침표("..") 뒤에 DirectorySeparatorChar 또는 AltDirectorySeparatorChar를 포함할 수 없으며 잘못된 문자를 포함할 수도 없습니다. GetInvalidPathChars 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

매개 변수에서 path 상대 경로 또는 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 메서드를 사용하여 GetCurrentDirectory 확인할 수 있는 현재 작업 디렉터리를 기준으로 해석됩니다. 반환된 디렉터리 이름 앞에는 매개 변수에 제공한 값이 접두사로 지정 path 됩니다. 예를 들어 매개 변수에 path 상대 경로를 제공하는 경우 반환된 디렉터리 이름에는 상대 경로가 포함됩니다.

및 메서드는 EnumerateDirectories 다음과 같이 다릅니다. 를 사용하면 EnumerateDirectories전체 컬렉션이 반환되기 전에 이름 컬렉션을 열거할 수 있습니다. 를 사용하는 GetDirectories경우 전체 이름 배열이 반환될 때까지 기다려야 배열에 액세스할 수 GetDirectories 있습니다. 따라서 많은 파일 및 디렉터리 EnumerateDirectories 로 작업할 때 보다 효율적일 수 있습니다.

반환된 컬렉션은 캐시되지 않습니다. 컬렉션의 에 GetEnumerator 대한 각 호출은 새 열거형을 시작합니다.

적용 대상

EnumerateDirectories(String, String, SearchOption)

Source:
Directory.cs
Source:
Directory.cs
Source:
Directory.cs

지정된 경로에서 검색 패턴과 일치하는 디렉터리 전체 이름의 열거 가능 컬렉션을 반환하고 선택적으로 하위 디렉터리를 검색합니다.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.SearchOption searchOption);
static member EnumerateDirectories : string * string * System.IO.SearchOption -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, searchOption As SearchOption) As IEnumerable(Of String)

매개 변수

path
String

검색할 디렉터리에 대한 상대 또는 절대 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

searchPattern
String

path에 있는 디렉터리 이름과 일치하는지 비교할 검색 문자열입니다. 이 매개 변수는 유효한 리터럴 경로와 와일드카드(* 및 ?) 문자로 된 조합을 포함하지만 정규식을 지원하지 않습니다.

searchOption
SearchOption

검색 작업에 현재 디렉터리만 포함할지 아니면 모든 하위 디렉터리를 포함할지를 지정하는 열거형 값 중 하나입니다. 기본값은 TopDirectoryOnly입니다.

반환

path로 지정되고 지정된 검색 패턴 및 검색 옵션과 일치하는 디렉터리에 대한 전체 이름(경로 포함)의 열거 가능 컬렉션입니다.

예외

2.1보다 오래된 .NET Framework 및 .NET Core 버전: path 길이가 0인 문자열이거나 공백만 포함하거나 잘못된 문자를 포함합니다. GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

또는

searchPattern에 유효한 패턴이 포함되어 있지 않습니다.

path이(가) null인 경우

또는

searchPatternnull입니다.

searchOption는 유효한 SearchOption 값이 아닙니다.

path가 잘못되었습니다(예: 매핑되지 않은 드라이브 참조).

path는 파일 이름입니다.

지정된 경로, 파일 이름 또는 이 둘의 조합이 시스템에서 정의한 최대 길이를 초과합니다.

호출자에게 필요한 권한이 없는 경우

호출자에게 필요한 권한이 없는 경우

예제

다음 예제에서는 지정된 검색 패턴과 일치하는 지정된 경로의 디렉터리를 열거합니다. 매개 변수를 searchOption 사용하여 모든 하위 디렉터리를 검색에 포함하도록 지정합니다.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

    private static void Main(string[] args)
    {
        try
        {
            string dirPath = @"\\archives\2009\reports";

            // LINQ query.
            var dirs = from dir in
                     Directory.EnumerateDirectories(dirPath, "dv_*",
                        SearchOption.AllDirectories)
                       select dir;

            // Show results.
            foreach (var dir in dirs)
            {
                // Remove path information from string.
                Console.WriteLine("{0}",
                    dir.Substring(dir.LastIndexOf("\\") + 1));
            }
            Console.WriteLine("{0} directories found.",
                dirs.Count<string>().ToString());

            // Optionally create a List collection.
            List<string> workDirs = new List<string>(dirs);
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
open System
open System.IO

try
    let dirPath = @"\\archives\2009\reports"

    let dirs =
        Directory.EnumerateDirectories(dirPath, "dv_*", SearchOption.AllDirectories)
        |> Seq.cache

    // Show results.
    for dir in dirs do
        // Remove path information from string.
        printfn $"{dir.Substring(dir.LastIndexOf '\\' + 1)}"
    printfn $"{Seq.length dirs} directories found."

    // Optionally create a List collection.
    let workDirs = Seq.toList dirs
    ()

with 
| :? UnauthorizedAccessException as uaEx ->
    printfn $"{uaEx.Message}"
| :? PathTooLongException as pathEx ->
    printfn $"{pathEx.Message}"
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = "\\archives\2009\reports"

            ' LINQ query.
            Dim dirs = From folder In _
                Directory.EnumerateDirectories(dirPath, "dv_*", _
                    SearchOption.AllDirectories)
            For Each folder In dirs
                ' Remove path infomration from string.
                Console.WriteLine("{0}", _
                        folder.Substring(folder.LastIndexOf("\") + 1))
            Next
            Console.WriteLine("{0} directories found.", _
                dirs.Count.ToString())

            ' Optionally create a List collection.
            Dim workDirs As List(Of String) = New List(Of String)

        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub
End Module

설명

searchPattern 는 리터럴과 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern.

와일드카드 지정자 일치하는 항목
*(별표) 해당 위치에 0개 이상의 문자가 있습니다.
? (물음표) 정확히 그 위치에 있는 한 문자입니다.

와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 searchPattern 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 path 검색합니다. 문자열 "s*"는 searchPattern 문자 "s"로 path 시작하는 의 모든 이름을 검색합니다.

searchPattern 는 두 개의 마침표("..")로 끝나거나 두 개의 마침표("..") 뒤에 DirectorySeparatorChar 또는 AltDirectorySeparatorChar를 포함할 수 없으며 잘못된 문자를 포함할 수도 없습니다. GetInvalidPathChars 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.

매개 변수에서 path 상대 또는 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 메서드를 사용하여 GetCurrentDirectory 확인할 수 있는 현재 작업 디렉터리를 기준으로 해석됩니다. 반환된 디렉터리 이름 앞에는 매개 변수에 제공한 값이 접두사로 지정 path 됩니다. 예를 들어 매개 변수에 path 상대 경로를 제공하는 경우 반환된 디렉터리 이름에는 상대 경로가 포함됩니다.

및 메서드는 EnumerateDirectories 다음과 같이 다릅니다. 를 사용하면 EnumerateDirectories전체 컬렉션이 반환되기 전에 이름 컬렉션을 열거할 수 있습니다. 를 사용하는 GetDirectories경우 전체 이름 배열이 반환될 때까지 기다려야 배열에 액세스할 수 GetDirectories 있습니다. 따라서 많은 파일 및 디렉터리 EnumerateDirectories 로 작업할 때 보다 효율적일 수 있습니다.

반환된 컬렉션은 캐시되지 않습니다. 컬렉션의 에 GetEnumerator 대한 각 호출은 새 열거형을 시작합니다.

적용 대상