c# - 结构中的 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 中有什么可以做的吗?
解决方案
推荐阅读
- flutter - Flutter Widget 返回类型
- c# - 从 C# 将 varchar2 变量传递给 oracle 函数
- python - Django-import-export - 如何将用户信息传递给 ForeignKeyWidget?
- javascript - 我无法打开描述窗口
- r - tmap - 改变 tm_markers 的行为
- javascript - 有没有办法将引用返回到与进行 Ajax 调用的函数相关联的原始元素?
- java - 希望将 Netbeans Java 项目部署为 .exe
- html - CSS响应式导航栏在打开汉堡包时删除后面的内容
- c++ - 在 .txt 文件中查找最高字数 - while 循环非常缓慢且无法正常工作
- arrays - 即使迭代器远离数组的最小和最大边界,也会发生索引超出范围错误