日期:2014-05-20  浏览次数:20828 次

C# 类与结构的疑问
在类中,字段可以赋初值;

class   c
{
        int   i=123;//可以
}

在结构中,就不可以。

struct   s
{
        int   i=123;//不可以
}

为什么在结构中就不可以赋初值,这样有什么好处?这样做灵活性不是降低了吗

------解决方案--------------------
最大的区别在于一个是值类型,一个是引用类型。一个在栈里分配内存,一个在堆里分配内存。C#中引入结构主要是考虑与以前的一些API进行处理时使用,结构存在装箱问题,类不存在。
一句话,它们虽然看起来很象,但的确不一样。
------解决方案--------------------
不好意思,如果可以支持表格会更好!