我们都知道,任何情况声明为一个class都是可以的,都能够满足程序的需要。
那为什么还需要声明为struck呢?
那么什么时候才声明为struck呢?struck无需装箱与拆箱,那么效率上会比class好一些么?看了不少书与文章,在这一块还不是十分理解,可能还有误解,故请大师详解一下,这一次我真的想把这个问题搞的彻底清楚。
谢谢。

解决方案 »

  1.   

    一般用class,是是引用类型的;
    如果要考虑效率,就用struc,它是值类型的。
    struc编程有很多约束和限制
      

  2.   

    可以看看 http://dotnetperls.com/struct-examples
      

  3.   


    看来struck还是有效率的,当所包含的比较简单且追求效率时还是应该使用结构的。
    我是这么理解。
      

  4.   


    不得不说,这是我看到的最好的一篇讲解struck最透彻的文章。老外的思考、解决与表达一个问题的方式真的值得我们学习。
    同时感谢fox000002推荐这篇文章,我想基本解惑了。
      

  5.   

    在真正的c#程序中,一般都有class代替struct了,顶多用struct定义一些数据结构而已,个人理解
      

  6.   

    有了泛型,
    可以不考虑struct.
      

  7.   

    类似struct Point
    {
      public int X;
      public int Y;
    }之类的只有字段成员,没有方法成员的轻量级对象可以考虑用 struct 。