gpt4 book ai didi

c# - 与 C# 中的 NULL 混淆

转载 作者:太空狗 更新时间:2023-10-29 19:49:06 26 4
gpt4 key购买 nike

我总是对表示 null 的不同方式感到困惑。有空引用类型(又名“null”)。然后我发现在我的整个应用程序中,开发人员都使用 MinValue 来表示空值。例如:Double.MinValue 或 DateTime.MinValue,但使用“null”的字符串除外

然后是 System.DBNull(和 System.DBNull.Value - 不确定何时使用什么)。更让人困惑的是,还有System.NullableSystem.Nullable<T>命名空间。

谁能帮我解决这个空的困惑?

谢谢

最佳答案

当然可以。

System.DBNull是 ADO.NET 曾经(现在仍然)用来表示 null 的类数据库中的值。

null实际上是一个 null引用,在您的应用程序代码中,任何引用类型都应使用 null作为它,嗯,null值(value)。

MinValue的用法对于各种基本类型(由于它们是值类型,无法分配 null )可以追溯到引入泛型的 C# 2.0 之前的黑暗日子。现在表示可空基元类型的首选方法是使用 Nullable<T>泛型,通常以在原始类型后加问号的简写形式表示。例如,我可以声明一个可为 null 的 int名为 foo 的变量在 C# 中为:

Nullable<int> foo;

int? foo;

两者完全相同。

关于c# - 与 C# 中的 NULL 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/714032/

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