You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:57:07