gpt4 book ai didi

c# - 如何删除目录中的所有文件和文件夹?

转载 作者:IT王子 更新时间:2023-10-29 03:27:13 24 4
gpt4 key购买 nike

如何使用 C# 删除目录中的所有文件和文件夹,但仍保留根目录?

最佳答案

System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");

foreach (FileInfo file in di.GetFiles())
{
file.Delete();
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
dir.Delete(true);
}

如果你的目录可能有很多文件,EnumerateFiles()GetFiles() 更有效,因为当你使用 EnumerateFiles()您可以在返回整个集合之前开始枚举它,这与 GetFiles() 相反,您需要在开始枚举之前将整个集合加载到内存中。看到这个引用here :

Therefore, when you are working with many files and directories, EnumerateFiles() can be more efficient.

这同样适用于 EnumerateDirectories()GetDirectories()。所以代码将是:

foreach (FileInfo file in di.EnumerateFiles())
{
file.Delete();
}
foreach (DirectoryInfo dir in di.EnumerateDirectories())
{
dir.Delete(true);
}

对于这个问题的目的,确实没有理由使用 GetFiles()GetDirectories()

关于c# - 如何删除目录中的所有文件和文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com