C# 11前结构体字段需显式赋值?与C#9实际编译情况存矛盾
C#结构体字段初始化规则的实际差异
《C# 12 in a Nutshell》中提到:
在C# 11之前,结构体中的每个字段都必须在构造函数(或字段初始化器)中显式赋值。此限制现已放宽。
但实际测试发现,以下代码在.NET 5(对应C# 9)环境下可以正常编译运行,输出结果为0:
using System; Point point = new Point(); Console.WriteLine(point.X); struct Point { public int X; public int Y; }
内容的提问来源于stack exchange,提问作者FluidMechanics Potential Flows
相关产品推荐
相关产品推荐

