如何遍历目录并仅使用C#通过Web方法返回文件夹名称?

如何遍历目录并仅使用C#通过Web方法返回文件夹名称?,第1张

概述这个问题已经在这里有了答案:            >            how to list all sub directories in a directory                                    5个我正在尝试使用C#读取目录并返回该目录中的所有文件夹名称.我不希望返回任何嵌套的文件夹或文件,而只返回目录中

这个问题已经在这里有了答案:            >            how to list all sub directories in a directory                                    5个
我正在尝试使用C#读取目录并返回该目录中的所有文件夹名称.我不希望返回任何嵌套的文件夹或文件,而只返回目录中的直接文件夹.

我将使用这些名称在应用程序中构建侧面导航.用户将具有创建新文件夹的能力,因此我希望随着时间的推移创建新文件夹时可以动态构建导航.到目前为止,我已经尝试了不同的解决方案.

1-我使用Directory.Getfiles()并遍历目录,但这返回了在整个目录中找到的每个文件夹和文件名.

第二-我使用Directory.GetDirectory()并尝试遍历目录,这确实只返回文件夹名称,但仅返回第一个文件夹!我需要其余的文件夹.就像我的循环无法正常工作.

第一次尝试:

 string [] files = Directory.Getfiles(@"\\SERVERname\Data\Serverlinks\Safety\","*",SearchOption.AllDirectorIEs);     string file = "";    for (int ii = 0; ii < files.Length; ii++)    {        file += "|" + files[ii];    }    return (file);

第二次尝试:

string path = @"\\SERVERname\Data\Serverlinks\Safety\";    foreach (string folder in Directory.GetDirectorIEs(path))    {        string name = folder.Remove(0,folder.LastIndexOf('\') + 1);        return (name);                }    return ("");
最佳答案您的第二次尝试方向正确.您只返回第一个文件夹.相反,您应该存储所有文件夹并返回集合.或者只是做一个yIEld return以IEnumerable的形式返回

var allFolders = new List<string>();string path = @"\SERVERname\Data\Serverlinks\Safety\";foreach (string folder in Directory.GetDirectorIEs(path)) {    string name = folder.Remove(0,folder.LastIndexOf('\') + 1);    allFolders.Add(name)}return allFolders;

如果我是你,我会使用略有不同的代码,该代码更加健壮和惯用

new DirectoryInfo(path).GetDirectorIEs().Select(d => d.name);

您可以使用新的DirectoryInfo(path).GetDirectorIEs()将信息保留为Directory对象,而不是使用Directory类,然后使用字符串函数进行路径 *** 作.我刚刚对DirectoryInfo.name进行了选择,因为这就是您的代码所显示的内容,但是您可以通过这种方式使用更强大的DirectoryInfo对象 总结

以上是内存溢出为你收集整理的如何遍历目录并仅使用C#通过Web方法返回文件夹名称? 全部内容,希望文章能够帮你解决如何遍历目录并仅使用C#通过Web方法返回文件夹名称? 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存