gpt4 book ai didi

c# - 为什么 Nullable HasValue 属性不会在 Null 上抛出 NullReferenceException?

转载 作者:IT王子 更新时间:2023-10-29 04:46:06 33 4
gpt4 key购买 nike

考虑以下代码:

DateTime? ndate = null;
Console.WriteLine(ndate.HasValue);

我本以为会出现 NullReferenceException,但 HasValue 确实会返回 false。但是,由于 ndate 为空,属性调用如何成功,因为没有对象可以调用属性 HasValue 呢?

最佳答案

从技术上讲,“ndate”不是 null - 它是一种值类型,其值指定为 null。

当你写 DateTime? , 这只是 Nullable<DateTime> 的简写,这是一个结构。从技术上讲,这不可能为 null,因为它不是引用类型。

关于c# - 为什么 Nullable<T> HasValue 属性不会在 Null 上抛出 NullReferenceException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2194617/

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