您好我有以下代码和问题是我想这样一个选择或基于过滤器的地方,但过滤器是IEnumerable我错过了linq来完成查询。我想要所有classB,其中ClassB.MyType包含在过滤器中。提前致谢
public class EntryPoint
{
public IEnumerable<ClassB> FilterClass(IEnumerable<string> filter)
{
var myClass = new MyClass(); // populate with values
return myClass.Values.Where(x => x.MyType == filter//??));
}
}
public class MyClass
{
public IEnumerable<ClassB> Values { get; set; }
}
public class ClassB
{
public string MyType { get; set; }
public string MyValue { get; set; }
}
答案 0 :(得分:0)
return myClass.Values.Where(x => filter.Contains(x.MyType));
然而,这可以比较参考平等 - 也考虑以下备选
return myClass.Values.Where(x => filter.Any(f => x.MyType.Equals(f)));
答案 1 :(得分:0)
肯定是
return myClass.Values.Where(x => filter.Any(f => f == x.MyType));
答案 2 :(得分:0)
试试这个
return myClass.Values.Where(x =>filter.Contains(x.MyType));