gpt4 book ai didi

c# - Nullable 是不可能的,为什么不呢?

转载 作者:行者123 更新时间:2023-11-30 19:01:36 25 4
gpt4 key购买 nike

<分区>

对不起,如果这是一个愚蠢的问题,我正在努力更好地理解 .Net 中的 Nullable 类型。

从我从 Microsoft 源代码(使用 ReSharper)中注意到的内容,我了解到 Nullable 是一个结构,而 T 需要是一个结构

public struct Nullable<T> where T : struct

现在,我试着做这样的事情

public struct CustomNullable<T> where T : struct
{
}
public class CustomNullableClass<T> where T : struct
{
}

编译时出现错误:

  Nullable<int?> a = null;
Nullable<Nullable<int>> a1 = null;

对于上面提到的代码,我得到一个错误“只有不可为空的值类型可以是 System.Nullable 的基础”,但是如何在 Nullable 类型中强制执行此错误?

对于

   CustomNullable<int?> a2 = null;
CustomNullableClass<int?> a3 = null;

我得到一个错误“类型 System.Nullable 必须是不可为 null 的值类型才能将其用作参数 T”。

我现在有点困惑,有人可以帮助我了解发生了什么,还是我不明白什么?

非常感谢。

编辑:如果结构是值类型并且值类型不能为 null,那么 Nullable 怎么可能是结构?

信用:支出者

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