如何用C#模式匹配语法判断Data列表是否包含元素?
用C#模式匹配替代
data.Data != null && data.Data.Any()的写法 你可以通过属性模式+集合模式(C# 9及以上版本支持)直接实现需求,写法更简洁:
if (data is { Data: not null and not [] })
关键逻辑说明:
- 属性模式
{ Data: ... }:精准定位data对象的Data属性进行检查; not null:排除Data为null的情况;not []:集合模式匹配,直接判断集合非空,效果和Data.Any()完全一致,写法更简洁。
如果你的项目还在使用C# 8(不支持集合模式),可以用模式匹配绑定变量后结合Any()判断,也算符合模式匹配的风格:
if (data is { Data: var dataList } && dataList is not null && dataList.Any())
内容的提问来源于stack exchange,提问作者Saruhan
相关产品推荐
相关产品推荐

