Dar*_*lus 6 c# language-agnostic null
几天前,当我编写C#代码时,我注意到编译器抱怨我必须转换null为特定对象.
这是否意味着null只是该类型的未实例化版本?或者它是Null像Java这样的类的单例值(即使它具有特殊权限)?
编辑:给出错误的代码示例如下:
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);
}
Run Code Online (Sandbox Code Playgroud)
我null在Java中评论的原因是在阅读之后:
还有一个特殊的null类型,表达式的类型为null,没有名称.由于null类型没有名称,因此无法声明null类型的变量或转换为null类型.空引用是null类型表达式的唯一可能值.null引用始终可以强制转换为任何引用类型.实际上,程序员可以忽略null类型,只是假装null只是一个可以是任何引用类型的特殊文字.
在这里找到:null是一个对象吗?
| 归档时间: |
|
| 查看次数: |
2158 次 |
| 最近记录: |