代码示例
using System;
namespace Arithmetic
{
class Program
{
static void Main(string[] args)
{
Test();
Console.Read();
}
private static void Test()
{
Model model = new Model()
{
Name = "小明",
Age = 11,
};
}
}
public class Model
{
public string Name;
public int Age;
}
}
类实例化以后,对象在堆上,因此对象的一切成员变量也在堆上。
//new Model()实例化在堆上
Model model = new Model()
{
//成员变量也在堆上
Name = "小明",
Age = 11,
};
对对象的引用,它作为一个局部变量,作用域在方法体内,这个东西是在栈上的。
//model这个变量的引用是在栈上
//当方法结束以后,引用就失效了
Model model = new Model()
{
//成员变量也在堆上
Name = "小明",
Age = 11,
};