为什么c#类的成员的类型可以是当前的类,比如下面定义MyTest的代码是不会报错的。
但是如果是struct,则会提示会导致循环。比如做单例模式的时候,就会出现这样的代码。
为class可以,但是struct不可以。我觉的这个原因是,类类型一个引用类型,而struct是值类型。
引用类型。引用类型的变量所占用的内存空间大小是固定的,或者说指针占据的大小是固定的,
因此struct会报错陷入无限循环,但是class是不会报错。
public class MyTest
{
private MyTest myTest;
}
public struct MyTest2
{
private MyTest2 myTest2;
}