我可以使用LINQ执行其中任何一项:
1。检查IEnumerable<string>
中的每个元素是否都有正确的扩展名。如果没有,抛出异常。
foreach(var filepath in filepaths)
if(Path.GetExtension(filepath) != @".xml")
throw new ArgumentException(...);
<小时/> 2。取
IEnumerable<string>
并将其所有元素序列化为一个string
,每个元素之间都有空格。
string args = "";
foreach (var filepath in filepaths)
args += filepath + " ";
由于
答案 0 :(得分:8)
if (!filepaths.All(x => Path.GetExtension(x) == @".xml"))
{
throw error;
}
string.Join(" ", filepaths.ToArray())
第二个问题。
答案 1 :(得分:5)
1
if(filePaths.Any(filepath => Path.GetExtension(filepath) != @".xml"))
throw new ArgumentException(...);
2
string args = string.Join(" ", filePaths.ToArray());
或者,使用LINQ(效率低得多):
string args = filePaths.Aggregate("", (combined, path) => combined + " " + path);