简而言之...加入两个列表比等于
我有一个从使用TFS API的变更中的结构云集源控制的文件夹列表:
$/ProjectFolder/BRANCHNAME /项目A
$/ProjectFolder/BRANCHNAME /子文件夹/项目B
$/ProjectFolder/BRANCHNAME /项目C
以上将只包括有选择的几个项目,那我也格式为所有的项目名称的列表:
项目A
项目B
项目C
项目D
我试图选择一个新列表,其中有两个列表之间的连接,然后获取包含第一个结构和第二个结构的匿名类型。我想我应该使用类似Contains
的东西,但是当尝试使用连接时,语法只提供equals
。
我曾尝试:
var sourceFolders = new List<string>()
{
"$/ProjectFolder/BranchName/Project A",
"$/ProjectFolder/BranchName/Sub-Folder/Project B",
"$/ProjectFolder/BranchName/Project C"
};
var projectNames = new List<string>() { "Project A", "Project B", "Project C", "Project D"};
var filteredProjects = sourceFolders.Where(sourceFolder => projectNames.Any(x => sourceFolder.Contains(x)));
filteredProjects
将只包含sourceFolders
然而,而不是其project
它已经映射太...
任何想法?
所需的输出
new { SourceFolder = "$/ProjectFolder/BranchName/Project A", ProjectName = "Project A" };
new { SourceFolder = "$/ProjectFolder/BranchName/Subfolder/Project B", ProjectName = "Project B" };
new { SourceFolder = "$/ProjectFolder/BranchName/Project C", ProjectName = "Project C" };
这是我不明白什么是你想要的输出。我假设你在这里写的两个列表是输入。 – Dialecticus
@Dialecticus我假设你投了票,我发布了期望的结果 - 我认为解释很清楚。我希望这已经清理了:) – LukeHennerley
现在很清楚,但我不是你的downvoter。你得到+1的努力,虽然:) – Dialecticus