为什么 Nullable 不能编译而 int 呢?没有“使用系统;”

2024-01-10

在.Net 2中,代码:

namespace ns
{
    class Class1
    {
        Nullable<int> a;
    }
}

不编译并给出错误:

找不到类型或命名空间名称“Nullable”(是否缺少 using 指令或程序集引用?)

不见了using System;但是这段代码:

namespace ns
{
    class Class1
    {
        int? a;
    }
}

编译。

有人可以解释为什么吗?


The T?语法被编译器翻译成System.Nullable<T>通过直接引用类型,而不是通过检查using范围内的 s。您可以类似地编写此代码,编译器将成功:

System.Nullable<int> a;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Nullable 不能编译而 int 呢?没有“使用系统;” 的相关文章

随机推荐