我有一个字符串数组和一个列表,数据如下所示,
string[] str = new string[2] { "Prod1", "Prod2" };
List<RegistryPathData> data = new List<RegistryPathData>
{
new RegistryPathData{AppName="test1", RegPath="Prod1|Version"},
new RegistryPathData{AppName="test2", RegPath="Prod2|Version"},
new RegistryPathData{AppName="test3", RegPath="Prod3|Version"},
new RegistryPathData{AppName="test4", RegPath="Prod4|Version"},
new RegistryPathData{AppName="test5", RegPath="Prod5|Version"},
};
现在,我想从与字符串数组(prod1&prod2)不匹配的
List<RegistryPathData>
中排除项目。需要排除以下2个,该怎么办?new RegistryPathData{AppName="test1", RegPath="Prod1|Version"},
new RegistryPathData{AppName="test2", RegPath="Prod2|Version"},
最佳答案
像这样使用List.RemoveAll()
函数。data.RemoveAll(d => str.Contains(d.RegPath.Split('|')[0]));