- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想删除一些临时文件的内容,所以我正在开发一个小程序来帮我删除它们。我有这两个代码示例,但我对以下内容感到困惑:
代码1
public void DeleteContains(string Pathz)
{
List<DirectoryInfo> FolderToClear = new List<DirectoryInfo>();
FolderToClear.Add(new DirectoryInfo(@"C:\Users\user\Desktop\1"));
FolderToClear.Add(new DirectoryInfo(@"C:\Users\user\Desktop\2"));
foreach (DirectoryInfo x in FolderToClear)
{
x.Delete(true);
}
}
代码 2
private void DeleteContents(string Path)
{
string[] DirectoryList = Directory.GetDirectories(Path);
string[] FileList = Directory.GetFiles(Path);
foreach (string file in FileList)
{
File.Delete(file);
}
foreach ( string directoryin DirectoryList)
{
Directory.Delete(directory, true);
}
}
最佳答案
编辑:我相信 OP 想要比较 DirectoryInfo.Delete 和 Directory.Delete。
如果您查看每个方法的反编译源代码(我使用 resharper 向我展示),您可以看到 DirectoryInfo.Delete 和 Directory.Delete 都使用 4 个参数调用 Delete 方法。恕我直言,唯一的区别是 Directory.Delete 必须调用 Path.GetFullPathInternal 来获取完整路径。 Path.GetFullPathInternal 实际上是一个很长的方法,有很多检查。如果不对性能进行一系列测试,就不太可能确定哪个更快以及快多少。
目录.删除
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
public static void Delete(String path, bool recursive)
{
String fullPath = Path.GetFullPathInternal(path);
Delete(fullPath, path, recursive, true);
}
目录信息.删除
[ResourceExposure(ResourceScope.None)]
[ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)]
public void Delete(bool recursive)
{
Directory.Delete(FullPath, OriginalPath, recursive, true);
}
关于c# - DirectoryInfo.Delete 与 Directory.Delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884781/
K:\test 中存在空目录“New Folder” >$a = gci K:\test目录不应具有 Length 属性。让我们检查: [bool]($a.PSobject.Properties.Na
如何将新目录添加到列表中 public static List Directory = new List(); Directory.Add("C:\\test"); // error 'string
这一定很愚蠢,但我就是不明白。所以我有这段代码: var dir = new DirectoryInfo("somedir"); if (dir.Exists) { dir.Delete(tru
我遇到了奇怪的事情。 每当我尝试在代码中创建DirectoryInfo对象并将其传递给根驱动器(C:)时,该对象的Name属性都设置为“ Debug”,并且Parent设置为{bin}文件夹。 我不经
我正在使用 Dictionary,使用 DirectoryInfo 和 FileInfo 等对象作为键。以这种方式使用它们安全吗?如何确保可以通过这种方式安全地使用对象类型? 最佳答案 一般来说,要准
我正在使用 DirectoryInfo.GetDirectories()递归查找给定路径下的所有子目录。 但是,我想排除 System 文件夹,并且没有明确的方法。 在 FindFirstFile/F
我有一个应用程序,它必须枚举一些文件夹并处理其中的文件。 它必须支持恢复,这意味着它必须从上次处理的文件夹开始。 我正在考虑使用 the DirectoryInfo.EnumerateDirector
我在以下代码段中遇到行为差异 DirectoryInfo di = new DirectoryInfo("c:\"); FileInfo[] textFiles = di.GetFiles("log_
我正在尝试查询文件夹并仅返回具有数字文件夹名称的文件夹。问题是我需要在 DirectoryInfo[] 对象中使用它。 我可以这样做(而且有效): List subDirList = Director
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我还是 C# 的新手...我正在构建一个 WPF 应用程序,我正在尝试应用一些用户应用程序设置。插入标准应用程序设置(int、double、string 等)很容易。我什至插入了 WindowStat
我想阅读文件夹和文件名,它们被放入一个列表中,并排序显示例如,我有一个如下所示的文件: 1-4999.txt 5000-9999.txt…… 我想对数据文件夹进行排序 var endpa
在我问的问题中Retrieve a list of filenames in folder and all subfolders quickly还有一些我发现的,似乎搜索许多文件的方法是使用 Enum
我正在使用 DirectoryInfo.CreationTime 来获取目录的创建日期但是它返回奇怪的日期 {21/11/1617 0:00:00} var directoryInfo = new D
如果我声明的目录不存在或已更改,DirectoryInfo 如何知道在哪里创建新目录?因为 Create() 方法不带参数。 像 Directory.CreateDirectory(path),其中路
我已经搜索了大约一个小时,但还是找不到解决我问题的方法。除了以“_days.txt”结尾的文件之外,我正在尝试显示某个目录中的所有 .txt 文件。这是我的代码,希望你能有所帮助。谢谢! foreac
我有以下代码可以正常工作。我想要做的(一次)是检查目录是否存在,如果存在,我想检查文件夹中是否存在文件。如果是,则返回 Y,否则返回 N: string s = new DirectoryInfo("
我正在测试以查看 DirectoryInfo[] 是否包含目录我的代码在下面 DirectoryInfo[] test = dir.GetDirectories(); if(test.Contains
我只是用我自己的文件夹浏览器做一些试验。我注意到当我查看 Windows 7 中的 System32 文件夹时,我得到了一些奇怪的结果。这是代码: DataTable dt=new DataTable
当我递归浏览一些文件夹和文件时,我遇到了这个错误: 指定的路径、文件名或两者都太长。完全限定文件名必须少于 260 个字符,目录名必须少于 248 个字符。 这是我的功能 private void P
我是一名优秀的程序员,十分优秀!