C# 基于IEnumerable、String>

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

您好,我有下面的代码,问题是我想基于筛选器选择或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; }
    }
试用

<>这可能会对引用相等性进行比较——也可以考虑下面的备选方案

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));