C#结构
结构是一种值类型,通常用来封装一组相关的变量,结构中可以包含构造函数、常量、字段、方法、属性、运算符、事件和嵌套类型等,但是如果同时包含上述几个类型则应该考虑使用类。
结构的特点:
·结构式值类型
·向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。
·结构的实例化可以不适用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();
}
}
}