gpt4 book ai didi

c# - 为什么值类型不能为空

转载 作者:IT王子 更新时间:2023-10-29 04:47:07 26 4
gpt4 key购买 nike

我知道可以使用 Nullable 值类型来包装值类型并提供存储 null 的能力。但是是否有技术原因不允许值类型为 null 或原因只是概念上的?

最佳答案

引用类型存储为对象实例的引用(如指针)。
null表示不指向对象实例的引用。

值类型存储为值本身,没有任何引用。
因此,null 没有意义。值类型——值类型根据定义包含一个值。

Nullable<T>是一个带有 HasValue 的值类型标志可以是 false表示没有值(value)。它仍然有一个值(当 HasValuefalse 时,Valuedefault(T) ),但是 HasValue标志告诉您忽略该值。
null无关, 除了 CLR 自动拆箱 null盒装值到 Nullable<T>HasValue设置为 false .

关于c# - 为什么值类型不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6521101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com