c# - 在 C# 中创建不可为 Null 的类型

标签 c# non-nullable

如何在 C# 中创建不可为 null 的值类型,如 int、bool 等?

最佳答案

是的,这些被称为struct

结构是值类型,就像intbool 和其他。

他们有一些与他们相关的规则/建议:(我认为这些是最重要的)

  • 当不使用 ref 或 out 关键字时,结构是按值传递和赋值的...这意味着在将结构赋值或传递给方法时,您放入结构中的所有内容都将被复制。这就是为什么你不应该制作大型结构。

  • 不能在 C# 中为结构定义无参数构造函数

  • 结构最好是不可变的,并且没有属性 setter 。制作可变结构可能会遇到真正的麻烦。

其他规则可以在有关结构的 Microsoft 文档中找到。

至于不可为空的引用类型……这是<​​strong>不可能的。您必须手动检查代码中的空值。

关于c# - 在 C# 中创建不可为 Null 的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6365459/

相关文章:

c# - 使用 C# 反序列化 Avro 文件

c# - Silverlight ReaderWriterLock 实现好/坏?

c# - 如何从位置参数中隐藏 IP 作为响应

flutter - 参数类型 'Products Function(BuildContext, dynamic, dynamic)' 无法分配给参数类型 'Products Function(BuildContext)'

java - 是否可以用 Java Optional 记录返回值不为空?

c# - 今天,我如何接近 C# 中的不可空引用类型?

c# - DataGridView 最后一列不能调整得更宽

c# - Umbraco v6.1 的 FileSystemProvider

c# - 未分配的不可空变量的值 (C#)

c# - 为什么 C# 中的 DateTime 不允许为 null?