[c#]筛选 IEnumerable基于 IEnumerable,字符串 >

标签: Linq C#
发布时间: 2017/2/28 22:50:41
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

嗨我有下面的代码,问题是我想要这样基于滤波器的选择或在哪里但过滤器是 IEnumerable 我想念 linq 来完成查询。我想要所有注释的其中 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; }
    }

解决方法 1:

请尝试使用Enumerable.Contains

return myClass.Values.Where(x => filter.Contains(x.MyType));

这,然而,可能比较引用相等 — — 还需要考虑以下另

return myClass.Values.Where(x => filter.Any(f => x.MyType.Equals(f)));
赞助商