理解结构和类的不同之处

来源:互联网 发布:nba淘宝旗舰店 编辑:程序博客网 时间:2024/04/30 02:19

我们来看这样一个问题:一个Student类只有ID和年龄两个字段,那么采用哪种数据类型来存储呢?

使用类来解决:

public class Student

{

    public int _id;     //ID

    public int _age;  //年龄

    public int Id

    {

        get{ return _id; }

        set{ _id = value;}  

    }

    public int Age

    {

         get{ return _age;}

         set{ _age = value;}

    }  

分析以上代码,我们发现Student类具有的字段都是值类型的,而且个数比较少,对于这种类型,C#提供了结构(Structure)

这个数据类型。定义结构的语法如下:

      访问修饰符 struct 结构名

      {

          //结构体

      }

结构的特点有以下两点:

1.结构中可以有字段,也可以有方法。

2.定义结构时,结构中的字段不能被赋值。

以上代码使用结构来写:

 public struct Student

{

    public int _id;

    public int _age;

}

在使用结构时需注意,可以不用new关键字,直接定义结构的对象即可。声明结构的对象后,必须给结构的成员赋值。

我们不难发现,结构和类极其相似,那么,是不是所有的类可以用结构来代替呢?结构是值类型,声明结构变量就是存储一个结构的副本,既要系统开辟一块新的存储空间,因此结构用的越多所消耗的空间也越多。因此,我们在使用结构时,当对象需要用较少的字段来表示时,就可以选用结构来实现。

 

 

0 0
原创粉丝点击