使用 new 运算符创建结构对象时,将创建该结构对象,并且调用适当的构造函数。与类不同的是,结构的实例化可以不使用 new 运算符。如果不使用 new,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。对于结构,不像类那样存在继承。一个结构不能从另一个结构或类继承,而且不能作为一个类的基。但是,结构从基类 Object 继承。结构可实现接口,其方式同类完全一样。

解决方案 »

  1.   

    怎么?struct有方法的?C# 的没有怎么学过,只是在C++中是没有方法的。
    它只是用来表示一个复合的类型而已,而class就是用来处理数据的方法而已
      

  2.   

    补充:
    struct没有析构函数
    因为是值类型都有初始值,其中的引用类型字段初始是null
      

  3.   

    C++中的struct也可以有方法的,区别是:struct中的成员,默认是public的;而class中的成员默认情况下是private的.仅此而已... ...
      

  4.   

    http://www.csharphelp.com/archives/archive156.html
      

  5.   

    1)  classes DEFAULT to having private members.  Structures DEFAULT to having public members. These defaults can be changed so classes can be made to work like structures and vice versa.2)  classes DEFAULT to inheriting privately from base classes.  Structures DEFAULT to inheriting publicy from base classes. These defaults can be changed so classes can be made to work like structures and vice versa.
      

  6.   

    谢谢大家的发言,既然结构也有域,属性,方法,且结构是值类型的,我把类换成结构是不是可以提高效率呢?
    说得对.不过在面向对象设计考虑继承关系的时候就不能用struct了.