结构体类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();
??????? }
??? }
}
參考地址:http://www.cnblogs.com/lmfeng/archive/2011/08/17/2142595.html
轉載于:https://www.cnblogs.com/cntom/archive/2011/08/17/2143046.html
總結
- 上一篇: SQL Server 2008 正式版安
- 下一篇: 好久没有写什么东西了。。。。