Linq[
^] would be helpful in this case.
I would suggest to use
Union[
^] statement.
string[] filesHD = {"file1.hd","file2.hd"};
string[] filesDT= {"file1.dt"," file2.dt"};
string[] filesTD = {"file1.td","file2.td"};
var allfiles=filesHD.Union(filesDT).Union(filesTD);
foreach(string file in allfiles)
{
Console.WriteLine("file: {0}", file);
}
Note: not tested!