如何确定var的大小?

时间:2018-09-11 07:55:18

标签: c#

我有一个声明如下的变量:

var a = 99494;

然后我使用以下内容确定变量的大小(以字节为单位):

Marshal.SizeOf(a)

它是否获得此值占用的实际内存大小?

2 个答案:

答案 0 :(得分:10)

  

它是否获得此值占用的实际内存大小?

是的。在这种情况下,这非常简单,因为varint。它将始终产生相同的值(4)。 (var不是动态类型,它是在编译时确定的。)

答案 1 :(得分:1)

是的,var只是一个编译时的技巧,因此编译器将在编译时决定其类型。除了明显且很长的类名,我不建议使用它。例如var x = new BigBigBigClass()。它使您的代码对其他人的可读性降低,并且更容易出错。 C#是一种静态类型的语言,虽然需要花费几秒钟的时间来声明类型,但在您不小心混合类的情况下,它会有所回报

由于编译器会将x用作整数,因此它应返回32位(4字节),因为这是标准整数的大小