关于类和结构体
值和引用要坚持不懈搞下去:D
1,嵌套
这些写是可以的
public class Item
{
public Item(int value)
{
this.Value = value;
}
public int Value;
public Item NextItem;
}
这样写会报错
public struct Item
{
public Item(int value)
{
this.Value = value;
}
public int Value;
public Item NextItem;
}
是这个原因:
声明引用类型的时候,只是在这个类内部放了一个空指针,等类在堆上初始化了,在把引用给这个指针。
声明值类型的时候,他不是个引用,是要在这个结构体内部(栈上)放一个新的结构体,这样这个栈无限膨胀。