筛选IEnumerable<;T>;基于IEnumerable,字符串>;
本文关键字:gt IEnumerable 字符串 基于 lt 筛选 | 更新日期: 2023-09-27 18:29:59
嗨,我有下面的代码,问题是我想要一个基于过滤器的select或where,但过滤器是IEnumerable,我缺少linq来完成查询。我想要过滤器中包含classB.MyType的所有classB。提前感谢
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; }
}
尝试使用Enumerable。包含
return myClass.Values.Where(x => filter.Contains(x.MyType));
然而,这可能会比较参考相等性——也可以考虑以下替代
return myClass.Values.Where(x => filter.Any(f => x.MyType.Equals(f)));
肯定有类似的东西
return myClass.Values.Where(x => filter.Any(f => f == x.MyType));
尝试这个
return myClass.Values.Where(x =>filter.Contains(x.MyType));