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

首頁 > 學院 > 開發設計 > 正文

C#中的數組

2019-11-14 16:04:42
字體:
來源:轉載
供稿:網友

  目錄

  • 數組的聲明
  • 數組的初始化
  • 數組的訪問
  • 數組的常用屬性和方法

 

 

  為方便起見,以下數組均定義為整型

 

  數組的聲明

 

    C#聲明數組時,方括號[]必須跟在類型后面,而不是標識符后面

    1. 聲明一維數組

    C#數組的大小不是其類型的一部分,而在C語言中卻是數組類型的一部分  

int[] mySigArray = new int[4];    //聲明數組類型,并使用new關鍵字為他分配內存空間/*上述聲明可分解為以下兩步*/int[] mySigArray;                 //聲明數組類型mySigArray = new int[4];          //使用new關鍵字為他分配內存空間

 

    另外C#聲明數組時支持分配內存的方括號內是整型變量或變量表達式,只要事先確定了變量的值即可(這個在C語言的C99標準出現之前是不允許的)

int[] mySigArray = new int[n];    //n的值必須事先確定,聲明之后即使改變n的值數組大小也不會變

 

    2. 聲明多維數組

int[,] myMulArray = new int[4,3]; //聲明二維整型數組

 

    3. 聲明鋸齒數組(數組的數組)

    多維數組的大小是矩形的,例如3X3(也可以是是4×3,只需每行大小相同)個元素。而鋸齒數組的大小設置比較靈活,在鋸齒數組中,每一行都可以有不同的大小,如下圖,鋸齒數組成鋸齒狀

     

int[][] mySawArray = new int[3][];      //注意與二維數組不同,這里有兩個方括號

 

 

  數組的初始化

 

  如果有初始化數據,可以用以下最簡單的形式初始化

int[] mySigArray = {1,2,3,4};                  //一維數組初始化int[,] myMulArray = {{1,2,3},{4,5,6},{7,8,9}};     //二維數組初始化int[][] mySawArray = {new int[] {1,2},new int[] {3,4,5,6,7,8},new int[] {9,10,11}};   //鋸齒數組初始化

 

 

  數組的訪問

 

    1. 訪問上述初始化的的數組中單個元素

int i = mySigArray[2];        //i=3int j = myMulArray[2,1];     //j=8int k = mySawArray[2][1];     //k=10  注意二維數組與鋸齒數組的區別

 

    2. 遍歷訪問數組元素

    C#提供了foreach語句,該語句提供了一種簡單、明了的方法來循環訪問數組

foreach(int m in myArray)      //將所有數組元素的值加1,myArray可以是一維、多維或鋸齒數組{    m++;}    

 

    另外也可以用for循環遍歷數組,使用這種方式可以更好的控制數組元素(知道每次循環中的數組對象是哪個),下面這段代碼用foreach語句是無法實現的

 for (int i = 0; i< mySawArray.Length; i++){    for (int j = 0; j < mySawArray[i].Length; j++)    {            myMulArray[i,j]=mySawArray[i][j];    //把鋸齒數組的每個元素賦值給二維數組中相應的元素    }}

 

  

  數組的常用屬性和方法

 

  在C#中,數組實際上是對象。System.Array是所有數組類型的抽象基類型,提供創建、操作、搜索和排序數組的方法,因此所有的數組都可以使用它的屬性和方法

    1. 常用屬性

    Length:獲得一個32位整數,該整數表示Array的所有維數中元素的總數,即數組的元素個數,常用來限制數組下標的大小

  

    2. 常用方法

      2.1 數組的復制

      在C#中,數組的復制一般分為以下三種:

int[] pins = {3,9,7,2};int[] copy1 = new int[pins.Length];pins.CopyTo(copy1,0);   //使用數組對象的CopyTo()方法進行復制,參數0表示從copy1數組的第一個元素(下標是0)開始放置從pins數組復制過來的值int[] copy2 = new int[pins.Length];Array.Copy(pins,copy2,copy2.Length); //使用Array類的一個靜態方法Copy(),參數copy2.Length表示從pins數組的第一個元素開始到copy2數組所能容納的最后一個元素(copy2.Length)都復制到copy2數組int[] copy3 = (int[])pins.Clone(); //使用數組對象的Clone()方法,它會創建一個新的數組,返回值是一個對象,所以需要強制類型轉換成恰當的類型

 

      2.2 數組的排序

      排序是編程中常用的算法之一。C#中提供了兩個數組排序的方法:

      Array.Sort(Array)用于對數組進行從小到大排序

      Array.Reverse(Array)用于對數組進行反向排序

int[] pins = {3,9,7,2};Array.Sort(pins);      //pins={2,3,7,9}Array.Reverse(pins);    //pins={9,7,3,2}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江孜县| 清水河县| 化德县| 武义县| 滨州市| 阿尔山市| 博白县| 聂拉木县| 富宁县| 吐鲁番市| 永宁县| 得荣县| 南丰县| 康平县| 赫章县| 顺平县| 兴义市| 芒康县| 南汇区| 奎屯市| 赞皇县| 廊坊市| 福鼎市| 武胜县| 南漳县| 城口县| 涡阳县| 吴江市| 醴陵市| 锡林郭勒盟| 贵溪市| 大竹县| 巫山县| 长岭县| 临邑县| 汪清县| 四子王旗| 庐江县| 西华县| 灵丘县| 股票|