Directory.EnumerateDirectories Yöntem

Tanım

Belirtilen ölçütleri karşılayan dizin tam adlarının listelenebilir bir koleksiyonunu döndürür.

Aşırı Yüklemeler

EnumerateDirectories(String)

Belirtilen yolda dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateDirectories(String, String)

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateDirectories(String, String, EnumerationOptions)

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarının listelenebilir bir koleksiyonunu döndürür ve isteğe bağlı olarak alt dizinleri arar.

EnumerateDirectories(String, String, SearchOption)

Belirtilen yoldaki bir arama deseni ile eşleşen ve isteğe bağlı olarak alt dizinleri arayan dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

EnumerateDirectories(String)

Kaynak:
Directory.cs
Kaynak:
Directory.cs
Kaynak:
Directory.cs

Belirtilen yolda dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

C#
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path);

Parametreler

path
String

Aranacak dizinin göreli veya mutlak yolu. Bu dize, büyük küçük harf duyarlı değildir.

Döndürülenler

tarafından pathbelirtilen dizindeki dizinler için tam adların (yollar dahil) numaralandırılabilir koleksiyonu.

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya geçersiz karakterler içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.

path, null değeridir.

path , eşlenmemiş bir sürücüye başvurmak gibi geçersizdir.

path bir dosya adıdır.

Belirtilen yol, dosya adı veya birleştirilmiş, sistem tanımlı uzunluk üst sınırını aşıyor.

Çağıranın gerekli izni yok.

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnek, belirtilen yolda en üst düzey dizinleri numaralandırır.

C#
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);
        }
    }
}

Açıklamalar

Parametresinde path göreli veya mutlak yol bilgilerini belirtebilirsiniz. Göreli yol bilgileri, yöntemini kullanarak belirleyebileceğiniz geçerli çalışma dizinine GetCurrentDirectory göre yorumlanır. Döndürülen dizin adları, parametresinde sağladığınız değere ön ek olarak path eklenir. Örneğin, parametresinde path göreli bir yol sağlarsanız, döndürülen dizin adları göreli bir yol içerir.

EnumerateDirectories ve GetDirectories yöntemleri aşağıdaki gibi farklılık gösterir: kullandığınızdaEnumerateDirectories, koleksiyonun tamamı döndürülmeden önce ad koleksiyonunu numaralandırmaya başlayabilirsiniz; kullandığınızdaGetDirectories, diziye erişebilmeniz için ad dizisinin tamamının döndürülmesini beklemeniz gerekir. Bu nedenle, birçok dosya ve dizinle EnumerateDirectories çalışırken daha verimli olabilir.

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki öğesine GetEnumerator yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

EnumerateDirectories(String, String)

Kaynak:
Directory.cs
Kaynak:
Directory.cs
Kaynak:
Directory.cs

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarından oluşan numaralandırılabilir bir koleksiyon döndürür.

C#
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern);

Parametreler

path
String

Aranacak dizinin göreli veya mutlak yolu. Bu dize, büyük küçük harf duyarlı değildir.

searchPattern
String

içindeki dizin pathadlarla eşleşecek arama dizesi. Bu parametre geçerli değişmez değer yolu ile joker karakter (* ve ?) karakterlerin bir bileşimini içerebilir, ancak normal ifadeleri desteklemez.

Döndürülenler

ve tarafından path belirtilen dizindeki dizinler için belirtilen arama deseni ile eşleşen tam adların (yollar dahil) numaralandırılabilir koleksiyonu.

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya geçersiz karakterler içerir. yöntemiyle GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.

-veya-

searchPattern geçerli bir desen içermiyor.

path, null değeridir.

-veya-

searchPattern, null değeridir.

path , eşlenmemiş bir sürücüye başvurmak gibi geçersizdir.

path bir dosya adıdır.

Belirtilen yol, dosya adı veya birleştirilmiş, sistem tanımlı uzunluk üst sınırını aşıyor.

Çağıranın gerekli izni yok.

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnek, belirtilen bir arama deseni ile eşleşen belirtilen yolda en üst düzey dizinleri numaralandırır.

C#
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);
        }
    }
}

Açıklamalar

searchPattern değişmez karakter ve joker karakterlerin birleşimi olabilir, ancak normal ifadeleri desteklemez. içinde aşağıdaki joker karakter tanımlayıcılara izin verilir searchPattern.

Joker karakter tanımlayıcısı Eşleşmeler
* (yıldız işareti) Bu konumda sıfır veya daha fazla karakter.
? (soru işareti) Bu konumda tam olarak bir karakter var.

Joker karakter dışındaki karakterler değişmez karakterlerdir. Örneğin, searchPattern "*t" dizesi "t" harfiyle biten tüm adları path arar. searchPattern"s*" dizesi, "s" harfiyle başlayan tüm adları path arar.

searchPattern iki noktayla ("..") sona eremez veya iki nokta ("..") ve ardından DirectorySeparatorChar veya AltDirectorySeparatorCharile bitemez veya geçersiz karakter içeremez. yöntemini kullanarak GetInvalidPathChars geçersiz karakterleri sorgulayabilirsiniz.

Parametresinde path göreli veya mutlak yol bilgilerini belirtebilirsiniz. Göreli yol bilgileri, yöntemini kullanarak belirleyebileceğiniz geçerli çalışma dizinine GetCurrentDirectory göre yorumlanır. Döndürülen dizin adları, parametresinde sağladığınız değere ön ek olarak path eklenir. Örneğin, parametresinde path göreli bir yol sağlarsanız, döndürülen dizin adları göreli bir yol içerir.

EnumerateDirectories ve GetDirectories yöntemleri aşağıdaki gibi farklılık gösterir: kullandığınızdaEnumerateDirectories, koleksiyonun tamamı döndürülmeden önce ad koleksiyonunu numaralandırmaya başlayabilirsiniz; kullandığınızdaGetDirectories, diziye erişebilmeniz için ad dizisinin tamamının döndürülmesini beklemeniz gerekir. Bu nedenle, birçok dosya ve dizinle EnumerateDirectories çalışırken daha verimli olabilir.

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki öğesine GetEnumerator yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

EnumerateDirectories(String, String, EnumerationOptions)

Kaynak:
Directory.cs
Kaynak:
Directory.cs
Kaynak:
Directory.cs

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarının listelenebilir bir koleksiyonunu döndürür ve isteğe bağlı olarak alt dizinleri arar.

C#
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);

Parametreler

path
String

Aranacak dizinin göreli veya mutlak yolu. Bu dize, büyük küçük harf duyarlı değildir.

searchPattern
String

içindeki dizin pathadlarla eşleşecek arama dizesi. Bu parametre geçerli değişmez değer yolu ile joker karakter (* ve ?) karakterlerin bir bileşimini içerebilir, ancak normal ifadeleri desteklemez.

enumerationOptions
EnumerationOptions

Kullanılacak arama ve numaralandırma yapılandırmasını açıklayan bir nesne.

Döndürülenler

ve tarafından path belirtilen dizindeki dizinler için belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen tam adların (yollar dahil) numaralandırılabilir koleksiyonu.

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya geçersiz karakterler içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.

-veya-

searchPattern geçerli bir desen içermiyor.

path veya searchPattern şeklindedir null.

searchOption geçerli SearchOption bir değer değil.

path , eşlenmemiş bir sürücüye başvurmak gibi geçersizdir.

path bir dosya adıdır.

Belirtilen yol, dosya adı veya birleştirilmiş, sistem tanımlı uzunluk üst sınırını aşıyor.

Çağıranın gerekli izni yok.

Çağıranın gerekli izni yok.

Açıklamalar

searchPattern değişmez karakter ve joker karakterlerin birleşimi olabilir, ancak normal ifadeleri desteklemez. içinde aşağıdaki joker karakter tanımlayıcılara izin verilir searchPattern.

Joker karakter tanımlayıcısı Eşleşmeler
* (yıldız işareti) Bu konumda sıfır veya daha fazla karakter.
? (soru işareti) Bu konumda tam olarak bir karakter var.

Joker karakter dışındaki karakterler değişmez karakterlerdir. Örneğin, searchPattern "*t" dizesi "t" harfiyle biten tüm adları path arar. searchPattern"s*" dizesi, "s" harfiyle başlayan tüm adları path arar.

searchPattern iki noktayla ("..") sona eremez veya iki nokta ("..") ve ardından DirectorySeparatorChar veya AltDirectorySeparatorCharile bitemez veya geçersiz karakter içeremez. yöntemini kullanarak GetInvalidPathChars geçersiz karakterleri sorgulayabilirsiniz.

Parametresinde path göreli veya mutlak yol bilgilerini belirtebilirsiniz. Göreli yol bilgileri, yöntemini kullanarak belirleyebileceğiniz geçerli çalışma dizinine GetCurrentDirectory göre yorumlanır. Döndürülen dizin adlarının başına parametresinde path sağladığınız değer eklenir. Örneğin, parametresinde path göreli bir yol sağlarsanız, döndürülen dizin adları göreli bir yol içerir.

EnumerateDirectories ve GetDirectories yöntemleri aşağıdaki gibi farklılık gösterir: kullandığınızdaEnumerateDirectories, koleksiyonun tamamı döndürülmeden önce ad koleksiyonunu listelemeye başlayabilirsiniz; kullandığınızdaGetDirectories, diziye erişebilmek için önce ad dizisinin tamamının döndürülmesini beklemeniz gerekir. Bu nedenle, birçok dosya ve dizinle EnumerateDirectories çalışırken daha verimli olabilir.

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki öğesine GetEnumerator yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

EnumerateDirectories(String, String, SearchOption)

Kaynak:
Directory.cs
Kaynak:
Directory.cs
Kaynak:
Directory.cs

Belirtilen yoldaki bir arama deseni ile eşleşen dizin tam adlarının listelenebilir bir koleksiyonunu döndürür ve isteğe bağlı olarak alt dizinleri arar.

C#
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.SearchOption searchOption);

Parametreler

path
String

Aranacak dizinin göreli veya mutlak yolu. Bu dize, büyük küçük harf duyarlı değildir.

searchPattern
String

içindeki dizin pathadlarla eşleşecek arama dizesi. Bu parametre geçerli değişmez değer yolu ve joker karakter (* ve ?) karakterlerinin bir bileşimini içerebilir, ancak normal ifadeleri desteklemez.

searchOption
SearchOption

Arama işleminin yalnızca geçerli dizini mi yoksa tüm alt dizinleri mi içermesi gerektiğini belirten numaralandırma değerlerinden biri. TopDirectoryOnly varsayılan değerdir.

Döndürülenler

tarafından path belirtilen dizindeki ve belirtilen arama deseni ve arama seçeneğiyle eşleşen dizinler için tam adların (yollar dahil) numaralandırılabilir koleksiyonu.

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya geçersiz karakterler içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.

-veya-

searchPattern geçerli bir desen içermiyor.

path, null değeridir.

-veya-

searchPattern, null değeridir.

searchOption geçerli SearchOption bir değer değil.

path , eşlenmemiş bir sürücüye başvurmak gibi geçersizdir.

path bir dosya adıdır.

Belirtilen yol, dosya adı veya birleştirilmiş, sistem tanımlı uzunluk üst sınırını aşıyor.

Çağıranın gerekli izni yok.

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnek, belirtilen bir arama deseni ile eşleşen belirtilen bir yoldaki dizinleri numaralandırır. Tüm alt dizinlerin aramaya dahil edilmesi gerektiğini belirtmek için parametresini kullanır searchOption .

C#
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);
        }
    }
}

Açıklamalar

searchPattern değişmez karakter ve joker karakterlerin birleşimi olabilir, ancak normal ifadeleri desteklemez. içinde aşağıdaki joker karakter tanımlayıcılara izin verilir searchPattern.

Joker karakter tanımlayıcısı Eşleşmeler
* (yıldız işareti) Bu konumdaki sıfır veya daha fazla karakter.
? (soru işareti) Bu konumda tam olarak bir karakter.

Joker karakter dışındaki karakterler değişmez karakterlerdir. Örneğin, searchPattern "*t" dizesi "t" harfiyle biten tüm adları path arar. searchPattern"s*" dizesi, "s" harfiyle başlayan tüm adları path arar.

searchPattern iki noktayla ("..") sona eremez veya iki nokta ("..") ve ardından DirectorySeparatorChar veya AltDirectorySeparatorCharile bitemez veya geçersiz karakter içeremez. yöntemini kullanarak GetInvalidPathChars geçersiz karakterleri sorgulayabilirsiniz.

parametresinde path göreli veya mutlak yol bilgilerini belirtebilirsiniz. Göreli yol bilgileri, yöntemini kullanarak belirleyebileceğiniz geçerli çalışma dizinine GetCurrentDirectory göre yorumlanır. Döndürülen dizin adlarının başına parametresinde path sağladığınız değer eklenir. Örneğin, parametresinde path göreli bir yol sağlarsanız, döndürülen dizin adları göreli bir yol içerir.

EnumerateDirectories ve GetDirectories yöntemleri aşağıdaki gibi farklılık gösterir: kullandığınızdaEnumerateDirectories, koleksiyonun tamamı döndürülmeden önce ad koleksiyonunu listelemeye başlayabilirsiniz; kullandığınızdaGetDirectories, diziye erişebilmek için önce ad dizisinin tamamının döndürülmesini beklemeniz gerekir. Bu nedenle, birçok dosya ve dizinle EnumerateDirectories çalışırken daha verimli olabilir.

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki öğesine GetEnumerator yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0