如何基于null过滤列表

时间:2014-04-03 03:31:48

标签: c# .net

我在C#中有一个项目列表。有些项目是空的,有些则不是。 如何过滤列表以仅显示非空值?

 var countInstances = supervisor.SupervisedPlacements.Select(ps => ps.PlacementShift);

那么如何才能从countInstances中获取非空值列表?

3 个答案:

答案 0 :(得分:0)

只需使用Where即可删除null

var filtered = supervisor.SupervisedPlacements.Where(x => x != null);

var countInstances = filtered.Count();
编辑:我可能误解了..这是另一种选择(如果这是你的意思):

var countInstances = supervisor
                         .SupervisedPlacements
                         .Select(ps => ps.PlacementShift)
                         .Where(ps => ps != null)
                         .ToList();

答案 1 :(得分:0)

就像任何其他比较一样

(x => x.Foo != null)

答案 2 :(得分:0)

尝试从countInstances删除所有空?

countInstances.RemoveAll(x => x == null);

但这会对countInstances

产生直接影响