【问题标题】:Difference between nint vs intnint 与 int 的区别
【发布时间】:2021-12-22 21:55:00
【问题描述】:

正如我们所知,C# 9 向我们介绍了 nint原生大小的整数
那么intnint有什么区别呢?

int num1;
nint num2;

【问题讨论】:

  • 如果程序编译为 32 位,那么它们的大小相同(32 位)。如果程序编译为 64 位,则 nint 是 64 位,但 int 仍然是 32 位。 This is documented here
  • 你看过nint Struct

标签: c# integer


【解决方案1】:

nintnuint 是新关键字,用于表示映射到现有 System.IntPtrSystem.UIntPtr 的值类型。

这些类型通常用于互操作场景,因为它们的大小取决于运行时平台,即它们在 32 位系统上为 32 位,在 64 位系统上为 64 位。更多信息here

另一方面,int 映射到 System.Int32 值类型,无论运行时平台如何,它始终是 32 位值。

【讨论】:

    【解决方案2】:

    nint 常量在 [ int.MinValue, int.MaxValue ] 范围内。 int 存储一个特定的值

    【讨论】:

    • 答案和问题都没有用。
    猜你喜欢
    • 2014-09-30
    • 2020-09-03
    • 2011-11-24
    • 2014-10-29
    • 2021-11-21
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多