c# - 在 C# 中开始循环之前将项目添加到集合中

标签 c# list collections

如何在循环到 Directory.GetDirectories 之前动态添加另一条路径? :

foreach (string d in Directory.GetDirectories(dirpath))
{
    foreach (string f in Directory.GetFiles(d))
    {
        Console.WriteLine(f);
        File.Copy(f,"");
    }

}

例如我需要它

foreach (Directory dir in Directory.GetDirectories(dirpath).Add("another path"))
{ 
//My other code here.... 
}

怎么做?

谢谢

最佳答案

也许是这样的:

Directory.GetDirectories(dirpath).Concat(new string[] { "another path"});

您需要在类的顶部添加 using System.Linq;

关于预期结果的附注:

你不能 foreach (Directory dir 因为 Directory 是一个静态类,你不能拥有它的实例。但是你可以使用 DirectoryInfo :

var dirs = Directory.GetDirectories(dirpath)
                    .Concat(new string[] { "another path" })
                    .Select(path => new DirectoryInfo(path));

foreach (DirectoryInfo dir in dirs)
{

}

关于c# - 在 C# 中开始循环之前将项目添加到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38609929/

相关文章:

java - 为什么java中的集合有int索引?

java - 在 Java 中显示树层次结构及其值

Java比较器使用非final变量

c# - 为什么写入正文后更改状态码会返回 504?

list - Prolog-映射(关联数组)

python - 如何根据python中的不同条件动态创建列表?

list - 在 Haskell 中创建一个数字递增的列表列表

c# - ObservableCollection.Remove 不起作用,即使该对象在列表中

c# - 具有子列表属性映射问题的自动映射器

c# - 使用 c# 的 asp.net 的自定义成员资格提供程序