我有一个文件路径数组,我想创建只包含paths_after数组中的uniqe文件的数组。文件总是从" OpenShop _"。
开始示例:C:\ aaa \ OpenShop_F.dll; C:\ AAA \ VVV \ OpenShop_F.dll; C:\ AAA \ OpenShop_E.dll
我有那段代码:
string[] paths = Directory.GetFiles(path, "OpenShop*.dll",SearchOption.AllDirectories);
string[] endpaths;
endpaths = paths.Where(x=>Path.GetFileName(x).Contains("OpenShop_")).Distinct().ToArray();
我想在endpaths数组元素中使用唯一的文件名:c:\ aaa \ OpenShop_F.dll C:\ AAA \ OpenShop_E.dll
我有结果:
我不想要相同的dll。我只想要一个OpenShop_Firefox.dll只有一个Chrome,只有一个IE。
答案 0 :(得分:1)
您可以尝试以下内容:
var endpaths = paths.Where(x=>Path.GetFileName(x).Contains("open_"))
.Select(x=>Path.GetFileName(x))
.Distinct()
.ToArray();
我们使用Path.GetFileName
从路径x
获取文件名。有关此问题的进一步文档,请查看here。然后我们看看我们得到的路径中是否包含所需的路径。最后我们得到不同的路径并将resutl转换为数组。