Nullable <int?>是不可能的,为什么不能呢?

内存

对不起,如果这是一个愚蠢的问题,我试图更好地理解.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必须是不可为空的值类型,才能将其用作参数T”。

我现在有点困惑,有人可以帮助我了解发生了什么还是我不了解某些事情?

在此先多谢。

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

贷方:支出者

a安

实际上,这是C#编译器(猜测)中的内部漏洞。您不能在自己的类中复制它。如果您使用完全相同的IL来创建自己的类型,则不会强制执行该附加的隐藏约束。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Nullable <int?>是不可能的,为什么不能呢?

来自分类Dev

为什么Nullable!(Nullable!int)拒绝编译?

来自分类Dev

为什么Nullable!(Nullable!int)拒绝编译?

来自分类Dev

无法将变量类型转换为其指针类型(例如,将int转换为int *)。我想这是一件坏事,但是为什么不可能呢?

来自分类Dev

Nullable <int>在对象属性中做什么?

来自分类Dev

如何将nullable int强制转换为nullable short?

来自分类Dev

如何将nullable int强制转换为nullable short?

来自分类Dev

当将我的nullable int转换为字符串时,为什么null合并运算符不起作用?

来自分类Dev

在 int 子类中重写 int 值是不可能的?

来自分类Dev

在Nullable <int>上的LINQ左联接

来自分类Dev

LINQ to SQL关系中的Nullable <int> id

来自分类Dev

nullable和_Nullable有什么区别

来自分类Dev

为什么不能将MSSQL的smallint强制转换为int呢:int x =(int)dt.Rows [x] [“ smallIntColumn”]

来自分类Dev

如何将int列表转换为Nullable <int>列表?

来自分类Dev

为什么[[_:Int)/(_:Int))不能编译((_:Int,_:Int)=> _ / _)?

来自分类Dev

为什么Nullable <T>不实现IComparable?

来自分类Dev

UWP-将TextBox.Text绑定到Nullable <int>

来自分类Dev

Android中的Json解析和Nullable int值

来自分类Dev

带有外部联接的LINQ中的Nullable Int

来自分类Dev

如果值小于零,则将nullable int设置为零

来自分类Dev

在NVC中将Nullable Int传递给Request.Form []

来自分类Dev

使用复制将int设置为Nullable <long>失败

来自分类Dev

Ho在EF查询中将Uint转换为Nullable Int

来自分类Dev

什么是“ COLUMN_NAME_NULLABLE”

来自分类Dev

什么是“ COLUMN_NAME_NULLABLE”

来自分类Dev

为什么我不能在PHP FFI中的结构上使用字,字节?但是char,int和short作品呢?

来自分类Dev

为什么我不能在PHP FFI中的结构上使用字,字节?但是char,int和short作品呢?

来自分类Dev

在C ++中,是否真的不可能跳过带有默认参数的模板参数,为什么语法建议否则呢?

来自分类Dev

如果不可能在 CoC 上进行 O(1) 预测,那么为什么会这样呢?

Related 相关文章

  1. 1

    Nullable <int?>是不可能的,为什么不能呢?

  2. 2

    为什么Nullable!(Nullable!int)拒绝编译?

  3. 3

    为什么Nullable!(Nullable!int)拒绝编译?

  4. 4

    无法将变量类型转换为其指针类型(例如,将int转换为int *)。我想这是一件坏事,但是为什么不可能呢?

  5. 5

    Nullable <int>在对象属性中做什么?

  6. 6

    如何将nullable int强制转换为nullable short?

  7. 7

    如何将nullable int强制转换为nullable short?

  8. 8

    当将我的nullable int转换为字符串时,为什么null合并运算符不起作用?

  9. 9

    在 int 子类中重写 int 值是不可能的?

  10. 10

    在Nullable <int>上的LINQ左联接

  11. 11

    LINQ to SQL关系中的Nullable <int> id

  12. 12

    nullable和_Nullable有什么区别

  13. 13

    为什么不能将MSSQL的smallint强制转换为int呢:int x =(int)dt.Rows [x] [“ smallIntColumn”]

  14. 14

    如何将int列表转换为Nullable <int>列表?

  15. 15

    为什么[[_:Int)/(_:Int))不能编译((_:Int,_:Int)=> _ / _)?

  16. 16

    为什么Nullable <T>不实现IComparable?

  17. 17

    UWP-将TextBox.Text绑定到Nullable <int>

  18. 18

    Android中的Json解析和Nullable int值

  19. 19

    带有外部联接的LINQ中的Nullable Int

  20. 20

    如果值小于零,则将nullable int设置为零

  21. 21

    在NVC中将Nullable Int传递给Request.Form []

  22. 22

    使用复制将int设置为Nullable <long>失败

  23. 23

    Ho在EF查询中将Uint转换为Nullable Int

  24. 24

    什么是“ COLUMN_NAME_NULLABLE”

  25. 25

    什么是“ COLUMN_NAME_NULLABLE”

  26. 26

    为什么我不能在PHP FFI中的结构上使用字,字节?但是char,int和short作品呢?

  27. 27

    为什么我不能在PHP FFI中的结构上使用字,字节?但是char,int和short作品呢?

  28. 28

    在C ++中,是否真的不可能跳过带有默认参数的模板参数,为什么语法建议否则呢?

  29. 29

    如果不可能在 CoC 上进行 O(1) 预测,那么为什么会这样呢?

热门标签

归档