gpt4 book ai didi

c# Directory.GetDirectories 不包括文件夹

转载 作者:行者123 更新时间:2023-11-30 14:00:44 24 4
gpt4 key购买 nike

我正在尝试遍历“c:\Users”中 Windows 中的用户文件夹列表,但不包括 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;
}

我不确定为什么这不起作用,任何人都可以为我提供一些见解吗?

最佳答案

Directory.GetDirectories() 返回目录的完整路径,而不仅仅是目录的最后一部分。

虽然您可以去掉 GetDirectories() 返回的路径的最后一个组成部分并将其与数组中当前的内容进行比较,但这将导致误报和漏报。

相反,使用 Environment.SpecialFolders获取特定于当前用户和操作系统版本的给定特殊文件夹的路径。

private readonly List<String> _exclusion = new List<String>
{
Environment.GetFolderPath(Environment.SpecialFolder.MyMusic),
// etc.
}

关于c# Directory.GetDirectories 不包括文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003440/

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