如何将3个字符串数组(包含文件)放入单个数组中

use*_*633 2 c#

string[] filesHD = Directory.GetFiles(dirPath, filepattern1);

string[] filesDT = Directory.GetFiles(dirPath, filepattern2);

string[] filesTD = Directory.GetFiles(dirPath, filepattern3);
Run Code Online (Sandbox Code Playgroud)

我的filesHD[]数组包含2个文件.filesDT[]包含2个文件,filesTD[]还包含2个文件.

我想创建一个字符串数组,它包含所有的6个文件filesHD,filesDT,filesTD.

string[] Allfiles = new string [filesHD + filesDT + filesTD]
Run Code Online (Sandbox Code Playgroud)

Pet*_*ano 5

有几种方法可以做到这一点,在C#中,最简单的方法可能是:

var allFiles = filesHD.Union(filesDT).Union(filesTD);
Run Code Online (Sandbox Code Playgroud)

要么

var allFiles = filesHD.Concat(filesDT).Concat(filesTD);
Run Code Online (Sandbox Code Playgroud)

你可以通过调用来结束它,.ToArray()如果你要多次枚举它,如果你只是要foreach过一次,不要担心.ToArray().Union和之间的区别ConcatUnion使用默认的相等比较器来忽略重复项.