struct A
{
int i =5;
}
大家都知道在C#中这么搞是不行的,更官方一些的说法是:结构中不能有实例字段初始值设定项.
规定是这样,大家不要这样用就好了撒.
但是我今天小琢磨了一下,结构体是可以实例化的,实例后内容就放到堆里去了,实例化时才分配内容空间(注意,不结构体变量本身的概念,变量本身所占空间也是编译时放到栈里的,要不然怎么你想引用这个类型就能用咧).
既然实例化时是必然要分配空间的,那你定义时何必要给他赋个初值呢,你写一个看不出问题,要是搞上1万个值类型初值,这样是非常不科学不严谨,不高端的,所以人家就硬性规定你丫不要这样用撒.
话比较土,也不一定正确,就当时一点随想吧,也许以后自己NB了,自己就能发现自己想法中的错误.不慎看到我这段文字的童鞋,不要随意当真哈..