我有一个列表,其中包含2种不同类型的对象,即折线和文本。 我只想创建一个新的折线列表。
我要做的是
var list2 = list1.SelectMany(x=> x.Type == PolyLine)
错误:“ PolyLine”是一种类型,在给定的上下文中无效。
如何在此处过滤这些对象?
答案 0 :(得分:2)
只需使用OfType<T>
扩展名:
var list2 = list1.OfType<PolyLine>().ToList();
这会选择list1
中类型为PolyLine
的所有元素。
在ToList()
之后,list2
的最终类型为List<PolyLine>
。
答案 1 :(得分:1)
您不需要yyyy-MM-ddThh:mm
,而是需要SelectMany
子句:
Where
这使用var result = list1.Where(x => x is PolyLine);
运算符来获取正确的类型。
使用is
扩展方法可以进一步简化此操作。