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

首頁(yè) > 編程 > C# > 正文

c#數(shù)組詳解

2020-01-24 03:48:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),其聲明方式如下:

type[] arrayName;

數(shù)組具有以下屬性:

    1.數(shù)組可以是一維、多維或交錯(cuò)的。
    2.數(shù)值數(shù)組元素的默認(rèn)值設(shè)置為零,而引用元素的默認(rèn)值設(shè)置為 null。
    3.交錯(cuò)數(shù)組是數(shù)組的數(shù)組,因此,它的元素是引用類型,初始化為 null。
    4.數(shù)組的索引從零開始:具有 n 個(gè)元素的數(shù)組的索引是從 0 到 n-1。
    5.數(shù)組元素可以是任何類型,包括數(shù)組類型。

一維數(shù)組

 

//聲明一維數(shù)組,沒有初始化,等于null   int[] intArray1;   //初始化已聲明的一維數(shù)組   intArray1 = new int[3]; //數(shù)組元素的默認(rèn)值為0   intArray1 = new int[3]{1,2,3};   intArray1 = new int[]{1,2,3};     //聲明一維數(shù)組,同時(shí)初始化   int[] intArray2 = new int[3]{1,2,3};   int[] intArray3 = new int[]{4,3,2,1};   int[] intArray4 = {1,2,3,4};   string[] strArray1 = new string[]{"One","Two","Three"};   string[] strArray2 = {"This","is","an","string","Array"}; 

多維數(shù)組  

 //聲明二維數(shù)組,沒有初始化   short[,] sArray1;   //初始化已聲明的二維數(shù)組   sArray1 = new short[2,2];   sArray1 = new short[2,2]{{1,1},{2,2}};   sArray1 = new short[,]{{1,2,3},{4,5,6}};     //聲明二維數(shù)組,同時(shí)初始化   short[,] sArray2 = new short [1,1]{{100}};   short[,] sArray3 = new short [,]{{1,2},{3,4},{5,6}};   short[,] sArray4 = {{1,1,1},{2,2,2}};   //聲明三維數(shù)組,同時(shí)初始化   byte[,,] bArray1 = {{{1,2},{3,4}},{{5,6},{7,8}}}; 


交錯(cuò)數(shù)組

  

 //聲明交錯(cuò)數(shù)組,沒有初始化   int[][] JagIntArray1;   //初始化已聲明的交錯(cuò)數(shù)組   JagIntArray1 = new int [2][] {       new int[]{1,2},       new int[]{3,4,5,6}      };   JagIntArray1 = new int [][]{        new int[]{1,2},       // new int []{3,4,5},        intArray2 //使用int[]數(shù)組變量       };   //聲明交錯(cuò)數(shù)組,同時(shí)初始化   int[][] JagIntArray2 = {       new int[]{1,1,1},       //new int []{2,2},       intArray1       }; 

數(shù)組即是一組相同類型組合在一起,使用一個(gè)通用的名稱,通過(guò)分配的下標(biāo)訪問(wèn)的數(shù)據(jù)集合中的元素。

數(shù)組是具有相同類型的一組數(shù)據(jù)。當(dāng)訪問(wèn)數(shù)組中的數(shù)據(jù)時(shí),可以通過(guò)下標(biāo)來(lái)指明。c#中數(shù)組元素可以為任何數(shù)據(jù)類型,數(shù)組下標(biāo)從0開始,即第一個(gè)元素對(duì)應(yīng)的下標(biāo)為0,以后逐個(gè)遞增。數(shù)組可以一維也可多維。

一維數(shù)組是最基本的數(shù)組類型,其聲明方法如下:

數(shù)據(jù)類型 [ ] 數(shù)組名 ;

舉例:
int [ ] anArray ; // 聲明一個(gè)整型的一維數(shù)組

具有兩個(gè)維度的數(shù)組是二維數(shù)組,其聲明方法如下:
數(shù)據(jù)類型 [ , ] 數(shù)組名 ;
舉例:

int [ , ] anArray ; // 聲明一個(gè)整型的二維數(shù)組
float [ , ]anArrayOfFloats; // 聲明一個(gè)浮點(diǎn)型的二維數(shù)組
string [ , ] anArrayOfStrings; // 聲明一個(gè)字符串型的二維數(shù)組

聲明數(shù)組變量時(shí),還沒有創(chuàng)建數(shù)組,還沒有為數(shù)組中元素分配任何內(nèi)存空間,因此,聲明數(shù)組后,需要對(duì)數(shù)組實(shí)例化:

anArray = new int [2,4] ;
anArrayOfStrings = new stirng [2,4] ;

我們也可以用給定的值對(duì)數(shù)組元素進(jìn)行初始化。

int [, ] anArray = new int [2, 4] {{1,2,3,4},{5,6,7,8}};
string [, ] anArrayOfStrings = new string [2, 2] {{"某甲","某乙"}, {"冠軍" ,"亞軍" }};

也可使用下列快捷方式:

int [, ] anArray = {{0,1,2,3},{1,2,3,4}};
string [, ] anArrayOfStrings = {{"某甲","某乙"}, {"冠軍" ,"亞軍" }};

在C#語(yǔ)言中,數(shù)組為我們提供了一些有用的特性,利用這些特性,我們可以完成一些更高級(jí)的功能。
數(shù)組名.Length :返回一個(gè)整數(shù),該整數(shù)表示該數(shù)組的所有維數(shù)中元素的總數(shù)。
數(shù)組名.Rank :返回一個(gè)整數(shù),該整數(shù)表示該數(shù)組的維數(shù)。
數(shù)組名.GetLength(int dimension) :返回一個(gè)整數(shù),該整數(shù)表示該數(shù)組的指定維(由參數(shù)dimension指定,維度從零開始)中的元素個(gè)數(shù)。

4.foreach語(yǔ)句針對(duì)數(shù)組或集合中的每一個(gè)元素,循環(huán)運(yùn)行嵌入語(yǔ)句。
foreach語(yǔ)句的語(yǔ)法格式為:
foreach (數(shù)據(jù)類型 標(biāo)識(shí)符 in 表達(dá)式)
嵌入語(yǔ)句

//包含6個(gè)元素的一維整數(shù)數(shù)組;
int[] mf1=new int[6]; //注意初始化數(shù)組的范圍,或者指定初值;

//包含6個(gè)元素的一維整數(shù)數(shù)組,初值1,2,3,4,5,6
int[] mf2=new int[6]{1,2,3,4,5,6};
 
//一維字符串?dāng)?shù)組,如果提供了初始值設(shè)定項(xiàng),則還可以省略 new 運(yùn)算符
string[] mf3={"c","c++","c#"};

//一維對(duì)象數(shù)組
Object[] mf4 = new Object[5] { 26, 27, 28, 29, 30 };
 
//二維整數(shù)數(shù)組,初值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[,]{{1,2},{3,4}};
 
//6*6的二維整型數(shù)組
int[,] mf6=new mf[6,6];

下面來(lái)看一個(gè)一維字符串?dāng)?shù)組的遍歷

using System; public class MikeCat { static void PrintArray(string[] arr) { //打印數(shù)組元素,arr.Length 表示數(shù)組元素的個(gè)數(shù) for(int i=0;i<arr.Length;i++) { Console.WriteLine("arr[{0}]={1}",i,arr[i]); } } public static void Main() { string[] arr={"c","c++","c#"}; //將數(shù)組作為一個(gè)參數(shù)傳遞 PrintArray(arr); } } 

程序結(jié)果:arr[0]=c arr[1]=c++ arr[2]=c#

下面來(lái)看一個(gè)4行2列(4*2)的整型數(shù)組的遍歷:

using System; public class MikeCat { static void PrintArray(int[,] arr) { //通過(guò)兩次FOR循環(huán)遍歷二維數(shù)組 for(int i=0;i<4;i++)//初始化i作為循環(huán)變量,i++實(shí)現(xiàn)該變量的自增運(yùn)算。 //for循環(huán)滿足條件后執(zhí)行完循環(huán)體一次后執(zhí)行i++,然后進(jìn)入下次循環(huán)。簡(jiǎn)單的c語(yǔ)法,這里做簡(jiǎn)單介紹供初學(xué)者學(xué)習(xí)。(詳細(xì)可參閱《c# 高級(jí)編程4.0》一書) { for(int j=0;j<2;j++) { Console.WriteLine("arr[{0},{1}]={2}",i,j,arr[i,j]);//打印每個(gè)二維數(shù)組元素 } } } public static void Main() { //主函數(shù) //將數(shù)組作為一個(gè)參數(shù)傳遞 PrintArray(new int[,]{{1,2},{3,4},{5,6},{7,8}}; } } 


運(yùn)行結(jié)果:arr[0,0]=1 arr[0,1]=2 arr[1,0]=3 arr[1,1]=4 arr[2,0]=5 arr[2,1]=6 arr[3,0]=7 arr[3,1]=8

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 博爱县| 习水县| 南丹县| 囊谦县| 东辽县| 奎屯市| 桐柏县| 民和| 沂南县| 洛南县| 宜兰县| 扎兰屯市| 白水县| 长沙市| 柏乡县| 武汉市| 漯河市| 永善县| 金门县| 宿州市| 晋宁县| 绵竹市| 武乡县| 黄梅县| 河东区| 诸暨市| 重庆市| 南昌市| 夏邑县| 溧阳市| 信阳市| 陵川县| 班玛县| 天峻县| 沅江市| 楚雄市| 双牌县| 台山市| 江达县| 平罗县| 织金县|