如何基于 NULL 筛选列表

本文关键字:列表 筛选 NULL 何基于 | 更新日期: 2023-09-27 17:56:32

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

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

那么我如何仅从 countInstances 中获取非空值列表?

如何基于 NULL 筛选列表

只需使用 Where 删除null s:

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();

就像任何其他比较一样

(x => x.Foo != null)

尝试从countInstances中删除所有空值?

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

但这将对countInstances产生直接影响