结构是一种值类型,通常用来封装一组相关的变量,结构中可以包含构造函数、常量、字段、方法、属性、运算符、事件和嵌套类型等,但是如果同时包含上述几个类型则应该考虑使用类。
结构的特点:
·结构式值类型
·向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。
·结构的实例化可以不适用new运算符
·结构可以声明构造函数,但他们必须带参数
·一个结构不能从另一个结构或类继承
·结构可以实现接口
·在结构中初始化实例字段是错误的。
聊了些特点,下面举个小例子大家参考下:
using System; using System.Collections.Generic; using System.Text;
namespace _ { class Program { public struct Rect //定义一个矩形结构 { public double width; //矩形的宽 public double height; //矩形的高 /// <summary> /// 构造函数,初始化矩形的宽和高 /// </summary> /// <param name="x">矩形的宽</param> /// <param name="y">矩形的高</param> public Rect(double x, double y) { width = x; height = y; } /// <summary> /// 计算矩形面积 /// </summary> /// <returns>矩形面积</returns> public double Area() { return width * height; }
public double CArea(double r) { return 3.14 * r * r; }
} static void Main(string[] args) { Rect rect1; //实例化矩形结构 rect1.width = 5; //为矩形宽赋值 rect1.height = 3; //为矩形高赋值 Console.WriteLine("矩形面积为:" + rect1.Area()); Rect rect2 = new Rect(6, 4); //使用构造函数实例化矩形结构 Console.WriteLine("矩形面积为:" + rect2.Area()); Console.WriteLine("圆的面积为:" + rect2.CArea(10)); Console.ReadLine(); } } }
|
请发表评论