欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中的矩形數(shù)組(多維數(shù)組)和鋸齒數(shù)組的實(shí)現(xiàn)

 更新時(shí)間:2023年04月11日 08:27:37   作者:斗樂(lè)八神  
本文主要介紹了C#中的矩形數(shù)組(多維數(shù)組)和鋸齒數(shù)組的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

(一)矩形數(shù)組

在C#中,矩形數(shù)組(rectangular array),又稱多維數(shù)組,是使用多個(gè)索引訪問(wèn)其元素的數(shù)組。

1. 二維數(shù)組的聲明:

<baseType>[,] <name>;

例如,聲明和初始化一個(gè)二維數(shù)組doubleArray,其基本類型是double,3行4列:

double[,] doubleArray=new double[3,4];
double[,] doubleArray={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

當(dāng)然,我們還可以這樣對(duì)doubleArray進(jìn)行定義和初始化:

double[,] doubleArray=new double[3,4]{{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2. 根據(jù)索引訪問(wèn)數(shù)組中的元素

訪問(wèn)數(shù)組中行號(hào)為1,列號(hào)為2(第2行,第3列)的數(shù)組元素:

Console.WriteLine(doubleArray[1,2]);//控制臺(tái)輸出7

3. 遍歷二維數(shù)組

(1)獲取多維數(shù)組的維度

int rank=doubleArray.Rank;//rank=2,表示doubleArray數(shù)組的維度為2

(2)for循環(huán)遍歷

//for循環(huán)遍歷doubleArray數(shù)組
for(int i=0;i<doubleArray.GetLength(0);i++)//GetLength(0)獲取數(shù)組行數(shù)
{
    for(int j=0;j<doubleArray.GetLength(1);j++)//GetLength(1)獲取數(shù)組列數(shù)
    {
        Console.Write(doubleArray[i,j]+"\t");//打印索引為[i,j]的數(shù)組元素
    }
    Console.WriteLine();//打印完一行換行
}

(3)foreach遍歷

//foreach遍歷doubleArray數(shù)組
foreach(double item in doubleArray)
{
    Console.Write(item + "\t");//依次輸出doubleArray數(shù)組中的元素
}

4. 其他多維數(shù)組

其他多維數(shù)組需要更多的逗號(hào)隔開(kāi),聲明格式:

<baseType>[,,] <name>;//三維數(shù)組
<baseType>[,,,] <name>;//四維數(shù)組
<baseType>[,,,,] <name>;//五維數(shù)組
...

(二)鋸齒數(shù)組

上述的矩形數(shù)組,它要求數(shù)組每一行的元素個(gè)數(shù)相同,但對(duì)于鋸齒數(shù)組(jagged array),它可以使數(shù)組中每行的元素個(gè)數(shù)不同。
鋸齒數(shù)組又稱為交錯(cuò)數(shù)組,數(shù)組中的每一個(gè)元素都是另一個(gè)數(shù)組,所有鋸齒數(shù)組也叫作數(shù)組的數(shù)組,但是要注意,這些數(shù)組都必須要有相同的基本類型。

1. 鋸齒數(shù)組的聲明和初始化

(1)鋸齒數(shù)組聲明

int[][] jaggedArray;//聲明一個(gè)int型鋸齒數(shù)組jaggedArray

(2)鋸齒數(shù)組初始化

初始化jaggedArray數(shù)組含有2個(gè)子數(shù)組(即數(shù)值中2個(gè)元素為另外2個(gè)數(shù)組)

jaggedArray = new int[2][];//初始化jaggedArray數(shù)組
jaggedArray[0] = new int[3] { 1, 2, 3 };//第一個(gè)元素為一個(gè)長(zhǎng)度為3的一維數(shù)組
jaggedArray[1] = new int[4] { 4, 5, 6, 7 };//第二個(gè)元素為一個(gè)長(zhǎng)度為4的一維數(shù)組

還可以改進(jìn)鋸齒數(shù)組的聲明和初始化,將聲明和初始化寫(xiě)在一行代碼:

int[][] jaggedArray = new int[2][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6, 7 } };

2. 遍歷鋸齒數(shù)組

(1)for循環(huán)遍歷

 //for循環(huán)遍歷jaggedArray數(shù)組
for(int i = 0; i < jaggedArray.Length; i++)//遍歷數(shù)組的行數(shù)
{
    for (int j = 0; j < jaggedArray[i].Length; j++)//遍歷數(shù)組中每一個(gè)行的元素(一維數(shù)組)
    {
        Console.Write(jaggedArray[i][j]+"\t");//打印jaggedArray[i][j]
    }
    Console.WriteLine();//輸出完一行換行
}

(2)foreach遍歷

//foreach遍歷jaggedArray數(shù)組
foreach(int[] int_item in jaggedArray)//遍歷鋸齒數(shù)中的每個(gè)子數(shù)組,類型為int[]
{
    foreach(int item in int_item)//遍歷每個(gè)子數(shù)組中的元素,類型為int
    {
        Console.Write(item + "\t");//依次輸出鋸齒數(shù)組中的元素
    }
}

總結(jié)

使用鋸齒數(shù)組的語(yǔ)法,不管是數(shù)組的聲明和初始化,還是數(shù)組的遍歷,都要比矩形數(shù)組復(fù)雜的多。在大多數(shù)情況下,使用矩形數(shù)組比較簡(jiǎn)單,它也是一種比較簡(jiǎn)單的存儲(chǔ)方式。但是,有時(shí)必須使用鋸齒數(shù)組,且工作效率并不會(huì)因此而降低。

到此這篇關(guān)于C#中的矩形數(shù)組(多維數(shù)組)和鋸齒數(shù)組的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C# 矩形數(shù)組和鋸齒數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# goto語(yǔ)句的具體使用

    C# goto語(yǔ)句的具體使用

    # goto 語(yǔ)句用于直接在一個(gè)程序中轉(zhuǎn)到程序中的標(biāo)簽指定的位置,標(biāo)簽實(shí)際上由標(biāo)識(shí)符加上冒號(hào)構(gòu)成。本文主要介紹了C# goto語(yǔ)句的具體使用,感興趣的可以了解一下
    2021-06-06
  • WinForm項(xiàng)目開(kāi)發(fā)中WebBrowser用法實(shí)例匯總

    WinForm項(xiàng)目開(kāi)發(fā)中WebBrowser用法實(shí)例匯總

    這篇文章主要介紹了WinForm項(xiàng)目開(kāi)發(fā)中WebBrowser用法,需要的朋友可以參考下
    2014-08-08
  • 關(guān)于C#.net winform程序驗(yàn)證moss的集成身份認(rèn)證實(shí)例

    關(guān)于C#.net winform程序驗(yàn)證moss的集成身份認(rèn)證實(shí)例

    因?yàn)榫W(wǎng)站使用的是windows集成認(rèn)證,所以遇到了權(quán)限問(wèn)題,需要輸入密碼。使操作和用戶體驗(yàn)非常不方便,研究了好久沒(méi)有找到好的方法,最后終于讓我踏破鐵鞋總結(jié)出了下面的方法
    2013-03-03
  • c# winform讀取xml文件創(chuàng)建菜單的代碼

    c# winform讀取xml文件創(chuàng)建菜單的代碼

    動(dòng)態(tài)創(chuàng)建菜單使得程序靈活性大大增加,本文根據(jù)讀取xml文件中的配置菜單項(xiàng)來(lái)動(dòng)態(tài)創(chuàng)建菜單,代碼如下
    2013-09-09
  • 簡(jiǎn)單的觀察者模式示例分享

    簡(jiǎn)單的觀察者模式示例分享

    這篇文章主要介紹了簡(jiǎn)單的觀察者模式示例,抽象層定義了觀察者模式,實(shí)現(xiàn)層是對(duì)抽象層的具體實(shí)現(xiàn),需要的朋友可以參考下
    2014-03-03
  • C#線程池操作方法

    C#線程池操作方法

    這篇文章主要介紹了C#線程池操作方法,實(shí)例分析了C#中線程池的相關(guān)使用技巧,需要的朋友可以參考下
    2015-04-04
  • 淺談C# 序列化與反序列化幾種格式的轉(zhuǎn)換

    淺談C# 序列化與反序列化幾種格式的轉(zhuǎn)換

    下面小編就為大家?guī)?lái)一篇淺談C# 序列化與反序列化幾種格式的轉(zhuǎn)換。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • 理解C#編程中的靜態(tài)類和靜態(tài)成員以及密封類

    理解C#編程中的靜態(tài)類和靜態(tài)成員以及密封類

    這篇文章主要介紹了理解C#編程中的靜態(tài)類和靜態(tài)成員以及密封類,注意類成員的相關(guān)訪問(wèn)限制和類的繼承問(wèn)題,需要的朋友可以參考下
    2016-01-01
  • C#實(shí)現(xiàn)圖片上傳與瀏覽切換的方法

    C#實(shí)現(xiàn)圖片上傳與瀏覽切換的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)圖片上傳與瀏覽切換的方法,是很有實(shí)用價(jià)值的一個(gè)應(yīng)用技巧,需要的朋友可以參考下
    2014-08-08
  • C#泛型的使用及示例詳解

    C#泛型的使用及示例詳解

    這篇文章主要介紹了C#泛型的使用及示例,本文通過(guò)例子個(gè)大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08

最新評(píng)論