请问如何使用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;
感谢您的回复。非常感谢。
请您参考如下方法:
您可以使用 OfType<T>为此。
var results = c.OfType<Class1>();
这个
Console.WriteLine (c.OfType<Class1>().Count());
结果
2
作为旁注:.Select()不选择任何东西。好吧,在某种程度上它确实如此:它“选择”每个元素并将其投影到一个新对象。但它不会根据某些标准选择对象。对于值,有 .Where()同样选择器和.OfType<T>用于类型选择。
