Clu*_*Clu 3 c# getdirectories system.io.directory
我试图在"c:\ Users"中迭代窗口中的用户文件夹列表但排除了microsoft内置用户文件夹,下面是我用来完成此专长的代码段但是由于某种原因不按预期工作.
private readonly List<String> _exclusion = new List<String>
{
"All Users",
"Default",
"LocalService",
"Public",
"Administrator",
"Default User",
"NetworkService"
};
public static bool FoundInArray(List<string> arr, string target)
{
return arr.Exists(p => p.Trim() == target);
}
foreach (string d in Directory.GetDirectories(sDir).Where(d => !FoundInArray(_exclusion,d)))
{
richTextBox1.Text += d + Environment.Newline;
}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么这不起作用,有人可以为我提供一些见解吗?
Directory.GetDirectories()返回目录的完整路径,而不仅仅是目录的最后一部分.
当您可以剥离GetDirectories()返回的路径的最后一个组件并将其与数组中当前的组件进行比较时,这将导致误报和误报.
而是使用Environment.SpecialFolders获取特定于当前用户和操作系统版本的给定特殊文件夹的路径.
private readonly List<String> _exclusion = new List<String>
{
Environment.GetFolderPath(Environment.SpecialFolder.MyMusic),
// etc.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6011 次 |
| 最近记录: |