C# 基于IEnumerable、String>
您好,我有下面的代码,问题是我想基于筛选器选择或where,但是筛选器是IEnumerable,我缺少linq来完成查询。我想要过滤器中包含classB.MyType的所有classB。提前谢谢C# 基于IEnumerable、String>,c#,linq,collections,ienumerable,C#,Linq,Collections,Ienumerable,您好,我有下面的代码,问题是我想基于筛选器选择或where,但是筛选器是IEnumerable,我缺少linq来完成查询。我想要过滤器中包含classB.MyType的所有classB。提前谢谢 public class EntryPoint { public IEnumerable<ClassB> FilterClass(IEnumerable<string> filter) { var myClass
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; }
}
试用
<>这可能会对引用相等性进行比较——也可以考虑下面的备选方案
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));
谢谢你的回答,我想我想争取r的参考平等!
return myClass.Values.Where(x =>filter.Contains(x.MyType));