Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果我有一个包含一些文本文件名称的列表,如何创建具有相同名称但带有前缀的其他文本文件?_C# - Fatal编程技术网

C# 如果我有一个包含一些文本文件名称的列表,如何创建具有相同名称但带有前缀的其他文本文件?

C# 如果我有一个包含一些文本文件名称的列表,如何创建具有相同名称但带有前缀的其他文本文件?,c#,C#,在我的C:驱动器中,我有一个名为“Temp”的文件夹和三个名为 abc.txt pqr.txt xyz.txt 使用以下代码: DirectoryInfo directory = new DirectoryInfo(@"C:\Temp"); FileInfo[] Files = directory.GetFiles("*.txt"); List<string> filenames = new List<string>(); foreach (FileInfo fil

在我的
C:
驱动器中,我有一个名为“Temp”的文件夹和三个名为

abc.txt 
pqr.txt
xyz.txt
使用以下代码:

DirectoryInfo directory = new DirectoryInfo(@"C:\Temp");
FileInfo[] Files = directory.GetFiles("*.txt"); 
List<string> filenames = new List<string>();
foreach (FileInfo file in Files)
{
    filenames.Add(file.Name);
}

您可以简单地执行以下操作,从输入创建一组新的空文件

filenames.ForEach(f => File.Create(Path.Combine(@"C:\Results", "result_" + f)).Dispose());
此外,要获取
文件名
,您可以使用较短的

var filenames = Files.Select(fi => fi.Name).ToList();
而不是
foreach

最后,如果您没有对
文件执行任何其他操作,您可以将其简化为:

foreach (var fi in new DirectoryInfo(@"C:\Temp").EnumerateFiles("*.txt"))
    File.Create(Path.Combine(@"C:\Results", "result_" + fi.Name)).Dispose();

将文件夹名和文件名分开,添加前缀,然后将它们合并。这些新创建的文件在“结果”文件夹中的内容应该是什么?还是应该是空的?应该是空的。
foreach (var fi in new DirectoryInfo(@"C:\Temp").EnumerateFiles("*.txt"))
    File.Create(Path.Combine(@"C:\Results", "result_" + fi.Name)).Dispose();