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();