我有一个声明如下的变量:
var a = 99494;
然后我使用以下内容确定变量的大小(以字节为单位):
Marshal.SizeOf(a)
它是否获得此值占用的实际内存大小?
答案 0 :(得分:10)
它是否获得此值占用的实际内存大小?
是的。在这种情况下,这非常简单,因为var
是int
。它将始终产生相同的值(4)。 (var
不是动态类型,它是在编译时确定的。)
答案 1 :(得分:1)
是的,var只是一个编译时的技巧,因此编译器将在编译时决定其类型。除了明显且很长的类名,我不建议使用它。例如var x = new BigBigBigClass()
。它使您的代码对其他人的可读性降低,并且更容易出错。 C#是一种静态类型的语言,虽然需要花费几秒钟的时间来声明类型,但在您不小心混合类的情况下,它会有所回报
由于编译器会将x用作整数,因此它应返回32位(4字节),因为这是标准整数的大小