首页 > 解决方案 > 结构中的 C# 8 的不可为空的引用字段

问题描述

这是 C# 8 的 NNR 检查中的一个漏洞吗?

public struct V
{
    private readonly double[] data;

    public V(int size) => data = new double[size];

    public int Length => data.Length;
}

var v = new V();
Console.WriteLine(v.Length);

在这种情况下,我认为编译器应该在使用默认构造函数时发出警告。是的,我知道“默认构造函数”被隐式“使用”的情况更多,但这种情况是最简单的。

在 C# 8 中有什么可以做的吗?

标签: c#structreferencec#-8.0non-nullable

解决方案


推荐阅读