新聞中心
這篇文章將為大家詳細(xì)講解有關(guān)C#中怎么處理動(dòng)態(tài)二維數(shù)組函數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),平安企業(yè)網(wǎng)站建設(shè),平安品牌網(wǎng)站建設(shè),網(wǎng)站定制,平安網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,平安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
對(duì)于C#動(dòng)態(tài)二維數(shù)組函數(shù)處理方案理解我們引入一個(gè)例子來看看生活中,有很多事物,僅僅用一維數(shù)組,將無法恰當(dāng)?shù)乇槐硎尽_€是說學(xué)生成績管理吧。一個(gè)班級(jí)30個(gè)學(xué)員,你把他們編成1到30號(hào),這很好。但現(xiàn)在有兩個(gè)班級(jí)要管理怎么辦?人家每個(gè)班級(jí)都自有自的編號(hào),比如一班學(xué)生編是1~30;二班的學(xué)生也是1~30。你說,不行,要進(jìn)行計(jì)算機(jī)管理,你們兩班學(xué)員的編號(hào)要混在一起,從1號(hào)編到60號(hào)。
另外一種情況,仍然只有一個(gè)班級(jí)30人。但這回他們站到了操場(chǎng),他們要做廣播體操,排成5行6列。這時(shí)所有老師都不管學(xué)員的編號(hào)了,老師會(huì)這樣喊:“第2排第4個(gè)同學(xué),就說你啦!踢錯(cuò)腳了!”。假設(shè)我們的校長大人要坐在校長室里,通過一個(gè)裝有監(jiān)視器的電腦查看全校學(xué)員做廣播體操,這時(shí),我們也需要一個(gè)多維數(shù)組。
那么如何在編程中實(shí)現(xiàn)C#動(dòng)態(tài)二維數(shù)組函數(shù)處理方案呢?我們看看具體的實(shí)現(xiàn)內(nèi)容:
//動(dòng)態(tài)調(diào)整一維數(shù)組長度 public static Array Redim(Array origArray, int length) { //確定每個(gè)元素的類型 Type t = origArray.GetType().GetElementType(); //創(chuàng)建新的數(shù)組 Array newArray = Array.CreateInstance(t, length); //原數(shù)組中的數(shù)據(jù)拷貝到新數(shù)組中 Array.Copy(origArray, 0, newArray, 0, Math.Min(origArray.Length, length)); return newArray; } //動(dòng)態(tài)調(diào)整二維數(shù)組長度 public static Array Redim(Array origArray, params int[] lengths) { //確定每個(gè)元素的類型 Type t = origArray.GetType().GetElementType(); //創(chuàng)建新的數(shù)組 Array newArray = Array.CreateInstance(t, lengths); //原數(shù)組中的數(shù)據(jù)拷貝到新數(shù)組中 for (int i = origArray.GetLowerBound(0); i <= Math.Min(origArray.GetUpperBound(0), newArray.GetUpperBound(0)); i++) for (int j = origArray.GetLowerBound(1); j <= Math.Min(origArray.GetUpperBound(1), newArray.GetUpperBound(1)); j++) newArray.SetValue(origArray.GetValue(i, j), i, j); //在這里沒有用Copy方法,如果用此方法, //會(huì)把原數(shù)組中所有數(shù)據(jù)逐個(gè)拷貝到新數(shù)組中 return newArray; }
//如果在Redim方法中用Copy方法(動(dòng)態(tài)調(diào)整二維數(shù)組長度) public static Array Redim(Array origArray, params int[] lengths) { int length = 1; for (int i = 0; i < lengths.Length; i++) length *= lengths; Type t = origArray.GetType().GetElementType(); Array newArray = Array.CreateInstance(t, lengths); Array.Copy(origArray, 0, newArray, 0, Math.Min(origArray.Length, length)); return newArray; }
關(guān)于C#中怎么處理動(dòng)態(tài)二維數(shù)組函數(shù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁題目:C#中怎么處理動(dòng)態(tài)二維數(shù)組函數(shù)
瀏覽地址:http://www.ef60e0e.cn/article/gjhcie.html