var nodesCount = nodes?.Count ?? 0;
nodes
:是一个集合
nodes?.Count
:null条件运算符 ?. 。
- 如果 nodes 不为 null,则返回 nodes.Count 的值;
- 如果 nodes 为 null,则整个表达式的结果为 null,而不会抛出 NullReferenceException。
nodes?.Count ?? 0
:
- 如果 nodes?.Count 的结果不为 null,则整个表达式的结果就是 nodes.Count 的值;
- 如果 nodes?.Count 的结果为 null,则使用 null 合并运算符 ??,返回右侧的值,即 0。
作用:安全地获取 nodes 集合的元素数量,如果 nodes 为 null,则返回 0。可以避免因尝试访问 null 集合的 Count 属性而导致的NullReferenceException
。