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

.NET Core中= []是什么含义?如何转换到.NET 4.8?

关于.NET Core中= []的含义及.NET 4.8兼容改造

一、= []的含义

这是C# 9.0及更高版本支持的目标类型数组初始化器语法,作用是给items属性设置默认的空可枚举集合:

  • 编译器会根据属性的IEnumerable<MyDoctor>类型,自动推断[]是创建一个空的MyDoctor[]数组
  • 因为数组本身实现了IEnumerable<T>接口,所以可以直接赋值给该属性,相当于简化了new MyDoctor[0]的写法

二、适配.NET 4.8的修改方案

.NET 4.8对应的C#版本最高为7.3,不支持上述简化语法,你可以用以下两种等价写法替代:

方式1:显式创建空数组

public IEnumerable<MyDoctor> items { get; set; } = new MyDoctor[0];

方式2:使用Enumerable.Empty<T>(需引用System.Linq)

using System.Linq;

public IEnumerable<MyDoctor> items { get; set; } = Enumerable.Empty<MyDoctor>();

这两种写法都能达到和原代码一致的效果:给items属性初始化一个空的可枚举集合,避免属性默认值为null。

内容的提问来源于stack exchange,提问作者Totoblo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:54:52