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();
        }
    }
}

posted @ 2010-04-06 22:34  魄力  阅读(1211)  评论(0编辑  收藏  举报