C# C Linq类搜索-如何筛选对象集合

C# C Linq类搜索-如何筛选对象集合,c#,linq,C#,Linq,我想问一下如何使用Linq过滤对象集合中的特定类 Class1 c1 = new Class1(); Class2 c2 = new Class2(); List<object> c = new List<object>(); c.Add(c1); c.Add(c1); c.Add(c2); 我在寻找这样的东西: c.Select(); // or IEnumerable<object> x = from y in c; 感谢您的回复。非常感谢你 c.Of

我想问一下如何使用Linq过滤对象集合中的特定类

Class1 c1 = new Class1();
Class2 c2 = new Class2();
List<object> c = new List<object>();
c.Add(c1);
c.Add(c1);
c.Add(c2);
我在寻找这样的东西:

c.Select();
// or
IEnumerable<object> x = from y in c;
感谢您的回复。非常感谢你

c.OfType<Class1>() // returns an IEnumerable<Class1> with all instances of Class1 within C
c.OfType<Class2>() // same thing, but for Class2
使用OfType方法,然后可以在强类型IEnumerable上使用其余的LINQ查询过滤器

然后,使用OfType方法,您可以在强类型IEnumerable上使用剩余的LINQ查询筛选器。

您可以使用OfType进行此操作

var results = c.OfType<Class1>();
这个

导致

二,

作为旁注:。选择不选择任何内容。在某种程度上,它是这样做的:它选择每个元素并将其投影到一个新对象。但它不会在某些标准上选择对象。对于值,有用于类型选择的.Where和.OfType选择器。

您可以使用OfType进行此操作

var results = c.OfType<Class1>();
这个

导致

二,


作为旁注:。选择不选择任何内容。在某种程度上,它是这样做的:它选择每个元素并将其投影到一个新对象。但它不会在某些标准上选择对象。对于值,有.Where和.OfType选择器用于类型选择。

这很有效,这就是我要寻找的。非常感谢。这很有效,这就是我要找的。非常感谢你。