国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#的結構類型

2023-05-09 18:58:26
字體:
來源:轉載
供稿:網友

有時我們可能對同一事物使用多個不同的變量來描述,如果將其分開來,顯得不夠靈活。結構類型很好的解決了這個問題,它把多個不同的變量組織在一起。其定義方法如下:

struct  結構名稱
       {
             成員聲明列表;
       }

成員可以包含構造函數,常數,字段,方法,屬性,索引器,運算符和嵌套類型等。每個成員在聲明的時候都采用如下的格式:

訪問修飾符   類型   名稱;

假設我們想描述一個點的位置和顏色,可以將其定義為結構類型的,方法如下:

struct point
        {
               double x;           //表示點的橫坐標
               double y;           //代表點的縱坐標
               string color;
         }

定義之后,我們就可以像使用其它數據類型那樣來定義變量,如
                    point p1,p2;

即定義了兩個point類型的變量p1和p2。在使用里面的成員時,可以通過.操作符來實現。如:
                    p1.x=23.4;p1.y=32;p2.color="綠色";

可能,大家感覺這種類型跟類類型相似,的確如此,但其也有著很大區別:

(1)結構是值類型,類是引用類型;

(2)結構中的成員如果沒有指定訪問修飾符,默認是public,而類是private;

(3)結構不能包含顯式的無參數構造函數,結構成員自動初始化為它們的默認值,而類可以包含這樣的無參構造函數;

(4)對于結構中的實例字段成員,不能在聲明時賦值初始化;

(5)結構不支持繼承,但是,結構可以從基類object繼承。結構也可以實現接口。類支持繼承,也可以實現接口。

結構是值類型,在為結構分配內存時,速度非常快。結構在析構時,速度也很快。另外,結構賦給另一個結構時(例如A=B,其中A和B是結構),結構的所有內容就被復制,而對于類,則只復制引用。結構的這一行為,就會有性能損失,根據結構的大小,性能損失也不同。

結構主要用于小的數據結構。但當把結構作為參數傳遞給方法時,最好作為ref參數傳遞,以避免性能損失。

下面給出關于結構體一個完整的例子:

using System;

namespace  StructType
       {
           class Class1
           {
                struct student
                {
                   public int sno;
                   public char sex;
                   public int age;
                 }
             static void Main(string[] args)
              {
                   student s;
                   s.sno=100;
                   s.sex='男';
                   s.age=23;
                   Console.WriteLine("學號為{0}的學生性別為{1};年齡為{2}",s.sno,s.sex,s.age);
                }
          }
    }

運行效果如下圖所示: 

C的數據類型之結構類型 - 武林網VEVB(http://m.survivalescaperooms.com)

上一篇:C#程序中的變量

下一篇:C#中的常量

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永靖县| 恩平市| 顺义区| 江北区| 萝北县| 连州市| 阿克陶县| 宽甸| 龙井市| 涞水县| 康平县| 平凉市| 襄城县| 洛南县| 安达市| 义马市| 临夏市| 承德县| 开化县| 新化县| 丰台区| 农安县| 通化县| 临城县| 马边| 湘潭市| 永兴县| 松滋市| 汪清县| 陆良县| 衡南县| 莒南县| 巨鹿县| 天门市| 和林格尔县| 徐闻县| 治县。| 滨州市| 西乌珠穆沁旗| 乐亭县| 洪雅县|