C#:二维三维图形绘制工程实例宝典
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.2 结构类型

上面介绍的都是一些简单类型,只有这些数据类型还不够,有时还需要更复杂的数据类型,把多个不同类型的数据组合到一起,以便使用。结构就是这些相关联的不同类型数据的组合,它可以构建复杂的数据结构,可以声明常数、字段、方法、属性、索引器、运算符、实例构造函数、静态构造函数和嵌套类型。这看起来与类很相似,都表示可以包含数据成员和函数成员的数据结构。但是它们是有区别的,结构类型是一种值类型,而类类型是一种引用类型。

结构主要用于创建小型的对象以节省内存,如:复数、坐标系中的点或字典中的“键-值”对都是结构的典型示例。这些数据结构的关键之处在于,它们只有少量数据成员,不要求使用继承或引用标识。示例Example1_1_1,定义一个表示矩形的C#结构。

[示例Example1_1_1] 定义一个矩形结构的代码如下:

        using System;
        //Define a struct
        struct Rectangle
        {
        public int x,y;            // 定义矩形的左上角坐标
        public int width,height;         // 定义矩形的宽和高
        public Rectangle(int a,int b, int w, int h)
        {
      x=a;
      y=b;
      width=w;
      height=h;
        }
        }
        class TestStruct
        {
          public static void Main()
        {
      Rectangle myRect;
      myRect.x=20;
      myRect.y=30;
      myRect.width=200;
      myRect.height=300;
      Console.WriteLine("My Rectangle:");
      Console.WriteLine("x={0}, y={1}, width={2}, height={3} ",myRect.x, myRect.y, myRect.width,
        myRect.height);
          }
        }

输出结果为

        My Rectangle:
        x=20, y=30, width=200, height=300