Directory.EnumerateDirectories Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
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)
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 path
belirtilen 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.
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
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
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.
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)
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 path
adlarla 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
, 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.
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
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
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.
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)
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 path
adlarla 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
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.
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)
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 path
adlarla 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.
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
.
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
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.