gpt4 book ai didi

c# - 如何确定 .NET 中的数据类型有多大?

转载 作者:IT王子 更新时间:2023-10-28 23:36:57 24 4
gpt4 key购买 nike

我想加深对数据类型的理解,想知道如何确定数据类型有多大。我希望在寻找答案的过程中发现其他未知数。

我知道在 .NET 中,一个字节是一个 8 位无符号整数,但这只是因为我读过它。如果我有一个非常简单的控制台应用程序,如下所示:

static void Main(string[] args)
{
byte b = 1;
}

我如何在 Visual Studio 中知道“b”的数据结构有多大?我看到有一些内存诊断窗口,但它只说当我跳过 b 的分配时它们无法评估表达式。我打开了反汇编窗口,可以看到 mov op...

mov         dword ptr [ebp-40h],1

...但不确定信息的含义。我认为 dword 暗示了大小,也许 ptr ebp-40h 指向了一个地址。有没有一种方法可以让我在 Visual Studio 中查看所有地址,并通过查看范围来收集大小?

我知道在这样一个简短的论坛上回答这些问题很难,但感谢您的帮助。

最佳答案

您可以使用 sizeof(T) 来获取原始值类型和非引用类型的大小。对于其他类型,获取大小可能非常困难,因为引用类型通常没有固定大小。

这可能是简单类型之外的一个复杂问题(根据下面的讨论),但通常,如果类型的大小没有由其数据结构显式定义,因为它本身就是一个引用类型,或者它是一个结构包含引用类型,则无法计算存储(因为根据定义,它是不固定的)。

关于c# - 如何确定 .NET 中的数据类型有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126375/

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