gpt4 book ai didi

C# null - 它是一个对象吗

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

几天前当我写 C# 代码时,我注意到编译器提示我必须将 null 转换为特定对象。

这是否意味着 null 只是该类型的未实例化版本?或者它是像 Java 那样的 Null 类的单例值(即使它具有特殊权限)?

编辑:给出错误的代码示例是:

public String duplicate(String toDuplicate)
{
return toDuplicate + toDuplicate;
}

public String duplicate(int? toDuplicate)
{
String asString = toDuplicate.toString();

return asString + asString;
}

public static int Main(string[] args)
{
//This needs to be cast:
duplicate(null);
//To:
duplicate((string)null);
}

我在 Java 中评论 null 的原因是在阅读了这篇文章之后:

There is also a special null type, the type of the expression null, which has no name. Because the null type has no name, it is impossible to declare a variable of the null type or to cast to the null type. The null reference is the only possible value of an expression of null type. The null reference can always be cast to any reference type. In practice, the programmer can ignore the null type and just pretend that null is merely a special literal that can be of any reference type.

在这里找到:Is null an Object?

最佳答案

当我有重载方法并且编译器无法在编译时解析调用哪个方法时,我得到了你提到的错误。是吗?

关于C# null - 它是一个对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225780/

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