C#变量分 类变量--字段。
我想问一下:在实例化一个C#类时,字段会被默认初始化嘛。
函数内部或程序块内局部变量。
我想问一下:函数内的部变量是不是在函数开始时全部在栈上分配空间(包括程序块内局部变量),如果我只时声明,局部变量会被默认初始化嘛。
如:void Func1()
{ int num1;
double d1 = 0L;
num1 = 1000;
Console.WriteLine(num1.ToString() + d1.ToString());
for (num1 = 1; num1 < 10; num1++)
{
float f1;
f1 = num1 + 6789;
Console.WriteLine("float F1 = :{F3,0}", f1);
}
}
请说明函数内部所有变量分配的时间和初始化情况:
C#所有函数内的局部变量是在函数开始时就分配空间,还是程序执行到的时候再分配空间,循环内f1会被分配多次嘛? 如上函数:函数开始只是在栈上分配num1,d1空间,然后到f1声明再分配空间f1空间?还是开始就在栈上分配num1,d1,f1全部空间。
主要是分配的时间.只说栈上的部分,引用类型也要在栈上分配一个指针的,堆肯定是在new的时候分配的。