使用linq从另一个列表中过滤相同类型的项目

时间:2013-09-06 09:14:01

标签: c# linq

这是我的班级,

public class App
{
   public string Appname;
   public string Appcode;

}

我有一个像

这样的应用列表
List<App> apps;

另一个相同对象的列表,如

List<App> filteredapps;

现在我需要从第一个列表中筛选出第二个列表中具有相同应用名称的列表。 我怎么能实现这个

2 个答案:

答案 0 :(得分:0)

apps.where(a=>filteredApps.Select(fa=>fa.AppName).Contains(a.AppName))

OR

var filteredNames = filteredApps.Select(fa=>fa.AppName);
apps.where(a=>filteredNames.Contains(a.AppName))

答案 1 :(得分:0)

var query = apps.Where(x=>filteredapps.Any(y=>y.AppName == x.AppName));

如果您想要List而不是IEnumerable,请在查询末尾添加.ToList()